IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Débutant - Fonctionnement de #include "maFonction.h&quo


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 8
    Par défaut Débutant - Fonctionnement de #include "maFonction.h&quo
    Bonjour à tous,

    Je suis débutant, et je m'appuie sur "C++ pour les nuls" pour appréhender ce langage. Je suis sous linux (Fedora) 2.6.16-1.2069_FC4.
    Je ne parviens pas à utiliser convenablement la directive #include.
    J'ai consulté la FAQ (http://c.developpez.com/faq/cpp/?pag...SS_header_cpp), mais cela ne répond pas à mon problème.

    J'ai créé un fichier .h :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    // gestab.h
    // Prototype pour les fonctions contenues dans gestab.cpp
    #include <iostream.h>
    #include <stdlib.h>
     
    int nbLignesTableau(int &);
    void rempliTableau(float [], const int &);
    void afficheTableau(const float [], const int &);
    J'ai créé un fichier .cpp contenant les fonctions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    //  gestab.cpp
    //  Librairie des fonctions définies par gestab.h
    
    #include <iostream.h>
    #include <stdlib.h>
    #include "lib/gestab.h" (j'ai aussi essayé sans cette ligne)
    
    int nbLignesTableau(int &nbVal) {...}
    void rempliTableau(float a[], int &nbval) {...}
    void afficheTableau(float a[], int &nbval) {...}
    et enfin le fichier .cpp qui contient le main() et l'include :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    // ex51
    // test
    #include <iostream.h>
    #include <stdlib.h>
    #include "lib/gestab.h"
    
    int main(int intArgc, char* pszArgs[])
    {
      int nbValeurs;
      nbValeurs = nbLignesTableau(nbValeurs);
      float a[nbValeurs];
    
      rempliTableau(a, nbValeurs);
      afficheTableau(a, nbValeurs);
    
      return 0;
    }
    Mais lorsque je compile (g++ -o $FIC -Wno-deprecated $FIC.cpp), je récupère l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    /tmp/ccGaXX59.o(.text+0x29): In function `main':
    ex51.cpp: undefined reference to `nbLignesTableau(int&)'
    /tmp/ccGaXX59.o(.text+0x6f):ex51.cpp: undefined reference to `rempliTableau(float*, int const&)'
    /tmp/ccGaXX59.o(.text+0x82):ex51.cpp: undefined reference to `afficheTableau(float const*, int const&)'
    collect2: ld a retourné 1 code d'état d'exécution
    Je crois comprendre que le fichier .h est bien lu, mais pas le fichier contenant les fonctions externalisées. Comment corriger cet erreur ? (à moins qu'il ne s'agisse d'une autre erreur...)

    Merci d'avance pour vos conseils et vos idées.

  2. #2
    Membre chevronné Avatar de niglo
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 379
    Par défaut
    Il faut que tu compiles aussi "gestab.c" pour en faire un ".o" et ensuite l'inclure dans ton projet !

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 8
    Par défaut
    Merci pour cette réponse.

    J'ai avancé, mais j'ai encore des problèmes.
    Effectivement la compilation sans linkage (avec l'option -c) des 2 fichiers aboutit sans problème.
    Par contre lorsque je lance le linkage (ld -0 monExécutable mesFonction.o monMain.o) je récupère de nombreuses erreurs essentiellement constituées de "undefined reference".
    Peut-etre devrais-je passer par un IDE type QT Designer pour ne pas me préoccuper des options de compilation ?? Mais j'avais l'espoir de comprendre et maitriser, un tantinet, ce que je faisais...

    Ci-dessous mon "annuaire" d'erreurs, au cas où...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    ld: AVERTISSEMENT: ne peut trouver le symbole d'entrée _start; utilise par défaut 08048094
    lib/gestab.o(.text+0x16): In function `nbLignesTableau(int&)':
    gestab.cpp: undefined reference to `std::cout'
    lib/gestab.o(.text+0x1b):gestab.cpp: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
    lib/gestab.o(.text+0x2a):gestab.cpp: undefined reference to `std::cin'
    lib/gestab.o(.text+0x2f):gestab.cpp: undefined reference to `std::istream::operator>>(int&)'
    lib/gestab.o(.text+0x43):gestab.cpp: undefined reference to `exit'
    lib/gestab.o(.text+0x6a): In function `rempliTableau(float*, int&)':
    gestab.cpp: undefined reference to `std::cout'
    lib/gestab.o(.text+0x6f):gestab.cpp: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
    lib/gestab.o(.text+0x7e):gestab.cpp: undefined reference to `std::ostream::operator<<(int)'
    lib/gestab.o(.text+0x8f):gestab.cpp: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
    lib/gestab.o(.text+0x9c):gestab.cpp: undefined reference to `std::ostream::operator<<(int)'
    lib/gestab.o(.text+0xad):gestab.cpp: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
    lib/gestab.o(.text+0xc2):gestab.cpp: undefined reference to `std::cin'
    lib/gestab.o(.text+0xc7):gestab.cpp: undefined reference to `std::istream::operator>>(float&)'
    lib/gestab.o(.text+0x105): In function `afficheTableau(float*, int&)':
    gestab.cpp: undefined reference to `std::cout'
    lib/gestab.o(.text+0x10a):gestab.cpp: undefined reference to `std::ostream::operator<<(float)'
    lib/gestab.o(.text+0x11b):gestab.cpp: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
    lib/gestab.o(.text+0x143):gestab.cpp: undefined reference to `std::cout'
    lib/gestab.o(.text+0x148):gestab.cpp: undefined reference to `std::ostream::operator<<(float)'
    lib/gestab.o(.text+0x153):gestab.cpp: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
    lib/gestab.o(.text+0x159):gestab.cpp: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))'
    lib/gestab.o(.text+0x171): In function `__tcf_0':
    gestab.cpp: undefined reference to `std::ios_base::Init::~Init()'
    lib/gestab.o(.text+0x19e): In function `__static_initialization_and_destruction_0(int, int)':
    gestab.cpp: undefined reference to `std::ios_base::Init::Init()'
    lib/gestab.o(.text+0x1a9):gestab.cpp: undefined reference to `__dso_handle'
    lib/gestab.o(.text+0x1b5):gestab.cpp: undefined reference to `__cxa_atexit'
    lib/gestab.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
    ex51.o(.text+0x6f): In function `main':
    ex51.cpp: undefined reference to `rempliTableau(float*, int const&)'
    ex51.o(.text+0x82):ex51.cpp: undefined reference to `afficheTableau(float const*, int const&)'
    ex51.o(.text+0xa9):ex51.cpp: undefined reference to `_Unwind_Resume'
    ex51.o(.text+0xc1): In function `__tcf_0':
    ex51.cpp: undefined reference to `std::ios_base::Init::~Init()'
    ex51.o(.text+0xee): In function `__static_initialization_and_destruction_0(int, int)':
    ex51.cpp: undefined reference to `std::ios_base::Init::Init()'
    ex51.o(.text+0xf9):ex51.cpp: undefined reference to `__dso_handle'
    ex51.o(.text+0x105):ex51.cpp: undefined reference to `__cxa_atexit'
    ex51.o(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'

  4. #4
    Membre éclairé Avatar de vdumont
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 510
    Par défaut
    Utiliser <iostream.h> est obsolète et ne compilera pas sur les compilateurs les plus récent, je te recommande d'utiliser <iostream> à la place. Je constate qu'il y a beaucoup d'erreurs sur les stream donc p-e que ca vient de la.

    Utiliser <cstdlib> au lieu de <stdlib.h> est également une recommendation.

    Il se peut aussi que tu manques des fonctions dans tes fichiers objets .o

    Fait nm lefichierobjet.o pour voir toute les fonctions déclaré dans celui ci,
    la lettre T représente ceux qui le sont

    Aussi, lorsque tu link essaie de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    -Wl,--start-group tesfichiersobjets -Wl,--end-group

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 8
    Par défaut
    Merci également pour cette réponse.

    J'ai suivi tes conseils et j'ai donc modifié les includes <iostream> et <cstdlic>.
    Maintenant quand je compile le source contenant les fonctions, la directive <iostream> ne semble pas reconnue.
    Je commence à me demander si je n'ai pas des soucis avec le compilateur. g++ -v me donne "version gcc 4.0.2 20051125 ( Red Hat 4.0.2-8 )"

    ci-dessous la commande et les erreurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    g++ -c  gestab.cpp
    gestab.cpp: In function ‘int nbLignesTableau(int&)’:
    gestab.cpp:15: erreur: ‘cout’ was not declared in this scope
    gestab.cpp:16: erreur: ‘cin’ was not declared in this scope
    gestab.cpp: In function ‘void rempliTableau(float*, int&)’:
    gestab.cpp:26: erreur: ‘cout’ was not declared in this scope
    gestab.cpp:27: erreur: ‘cin’ was not declared in this scope
    gestab.cpp: In function ‘void afficheTableau(float*, int&)’:
    gestab.cpp:34: erreur: ‘cout’ was not declared in this scope
    gestab.cpp:35: erreur: ‘cout’ was not declared in this scope
    gestab.cpp:35: erreur: ‘endl’ was not declared in this scope

  6. #6
    Membre expérimenté Avatar de Twindruff
    Inscrit en
    Janvier 2005
    Messages
    216
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 216
    Par défaut
    Tous ces indentifiants font partie du nom d'espace std.
    Soit tu indiques (au début de ta source) Soit tu les utilise comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    std::cout
    std::endl
    ...

  7. #7
    Membre éclairé Avatar de vdumont
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 510
    Par défaut
    Ou tu peux utiliser, comme je le fais personnellement, std:: à chaque apparition

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 8
    Par défaut
    J'ai placé la commande "using namespace std;" juste après les includes.
    Effectivement la compilation passe bien. J'ai donc recompilé mes 2 fichiers.

    Mais lorsque je lance la commande ld -0 monExécutable mesFonction.o monMain.o, je récupère toujours mon "annuaire d'erreurs".
    Mais je n'ai pas compris ou je devais mettre "-Wl,--start-group tesfichiersobjets -Wl,--end-group"; en argument de ld ? dans un source ?

    Merci pour votre aide

  9. #9
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 296
    Par défaut Re: Débutant - Fonctionnement de #include "maFonction.h
    <tu ne vas pas aimer ma réponse=on>
    Citation Envoyé par imedul
    , et je m'appuie sur "C++ pour les nuls" pour appréhender ce langage.
    Fais-toi rembourser, et consulte les archives pour des références de bons livres.
    </>
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  10. #10
    Membre émérite
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Février 2004
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Février 2004
    Messages : 644
    Par défaut
    pourquoi ne fais-tu pas tout simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    g++ gestab.c main.c -o main

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 8
    Par défaut problème résolu!!
    Effectivement, en utilisant la ligne de commande g++ *.cpp -o monPrg, ca fonctionne parfaitement.
    Le problème est donc résolu. Merci beraucoup pour ce conseil, et merci aussi aux précédents qui m'ont permis de mieux comprendre certaines choses, en particullier le "using namespace std".

    Quant au bouquin, je ne suis pas du tout vexé; j'ai bien conscience de ses limites. J'ai commandé "L'intro C++" et "Standards de programmation C++". Mais en attendant j'essaie d'avancer avec les moyens du bord...

    Merci encore à tous

  12. #12
    Membre émérite
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Février 2004
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Février 2004
    Messages : 644
    Par défaut
    Le sujet du C++ est très vaste, un bête exemple, très peu de personne savent utiliser réellement la méta-programmation basée sur les templates C++.

    On pense que le C++ est limité aux classes, polymorphismes, héritages, etc... mais c'est un bon outil

  13. #13
    Membre éclairé Avatar de vdumont
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 510
    Par défaut
    Je te donne un exemple d'utilisation que j'en faisait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g++ -Wl,--start-group ../../exe/main.o ../../exe/*.a -Wl,--end-group -o ../../exe/mailleur

    C'est au niveau du "linkage" qu'il peut être utile. Si tu n'a aucun problème de linkage alors tu peux t'en passer

    Je l'avais utiliser une fois car javais un probleme avec un seul executable dans le processus de linkage.

  14. #14
    Membre éclairé Avatar de benjiprog
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 302
    Par défaut
    Je vois que vous parler des fichiers .o et de linkage, et bien justement j'ai un problème sur ce point, je voudrais créer un module objet de ma classe vecteur :
    Fichier .h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    class vecteur 
    { 
          private :            /*Membres donnés declarer priver*/ 
                  double comp1; 
                  double comp2; 
                  double comp3; 
          public :                /*Fonction membre declarer public*/ 
                 vecteur (double,double,double); /*Constructeur*/ 
                 void homothetie (int); 
                 void affiche (); 
    };
    Fichier.cpp à compiler pour obtenir le module objet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
     
     
    #include <iostream> 
    #include "vecteur.h"  /*Pour les declaration de la classe vecteur*/ 
    using namespace std; 
     
                    /*Definition de la classe vecteur*/ 
    vecteur::vecteur (double vec1,double vec2,double vec3) 
    { 
        comp1=vec1; comp2=vec2; comp3=vec3;    
    } 
    void vecteur::homothetie (int nb) 
    { 
        comp1*=nb; comp2*=nb; comp3*=nb; 
    } 
    void vecteur::affiche () 
    { 
        cout <<"Les composantes du vecteur sont"<<endl<< 
                         "composante 1 :"<<comp1<<endl<<                  
                         "composante 2 :"<<comp2<<endl<< 
                         "composante 3 :"<<comp3<<endl;    
    }
    Quand je compile mon fichier.cpp je me retrouve avec cette erreur
    [Linker error] undefined reference to `WinMain@16'
    ld returned 1 exit status

  15. #15
    Membre éclairé Avatar de vdumont
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 510
    Par défaut
    C'est que tu as créer une application Windows au lieu d'un projet vide ou d'un projet console (j'en passe), donc le linker cherche a lier le point d'entrée du programme (fonction WinMain) et ne la trouve pas.

    Crée toi un nouveau projet, soit vide ou console et ca devrait marcher

  16. #16
    Membre éclairé Avatar de benjiprog
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 302
    Par défaut
    Avant je n'avais pas du tout créer de projet, maintenant j'ai donc créer un projet console "Console Application" sous Dev Cpp.
    Seulement j'ai toujours une erreur de linker :
    [Linker error] undefined reference to `WinMain@16'
    ld returned 1 exit status
    *** [proj_vect.exe] Error 1
    Je ne compile que les 2 fichiers .h et .cpp dans le projet.

  17. #17
    Membre Expert

    Homme Profil pro
    Inscrit en
    Juillet 2003
    Messages
    2 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 2 075
    Par défaut Re: Débutant - Fonctionnement de #include "maFonction.h
    Citation Envoyé par Luc Hermitte
    <tu ne vas pas aimer ma réponse=on>
    Citation Envoyé par imedul
    , et je m'appuie sur "C++ pour les nuls" pour appréhender ce langage.
    Fais-toi rembourser, et consulte les archives pour des références de bons livres.
    </>
    J'allais le dire: mauvais livre? Changer de livre...
    ->Je me lance de Francis Glassborow que l'on peut trouver chez microapplication ou a la fnac
    ->Accelerated C++ de Koenig et Moo

  18. #18
    Membre éclairé Avatar de vdumont
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 510
    Par défaut
    Une application console nécessite au moins une fonction "int main"

  19. #19
    Membre éclairé Avatar de benjiprog
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 302
    Par défaut
    Oui, mais ce que je veux moi c'est juste créer un module objet de ma classe ce qui comporte la déclaration et la définition de celle-ci, donc normalement il ne devrait y avoir aucun int main.

  20. #20
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Dans ce cas, tu devrais créer un projet static library...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. [Débutant] Fonctionnement ResourceManager
    Par HaTnuX dans le forum Langage
    Réponses: 1
    Dernier message: 27/06/2007, 00h32
  2. Réponses: 4
    Dernier message: 13/02/2007, 15h32
  3. [Débutant] Fonctionnement de Window.open
    Par Benzeghiba dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/09/2006, 12h44
  4. [Débutant] fonctionnement de l'opérateur >>>
    Par kloss dans le forum Langage
    Réponses: 3
    Dernier message: 25/02/2006, 15h35
  5. [Débutant] équivalent du include() php
    Par R3iTt0R dans le forum ASP
    Réponses: 5
    Dernier message: 07/07/2004, 11h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo