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

Visual C++ Discussion :

Comment linker 2 "projets" dans 1 "solution"


Sujet :

Visual C++

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Comment linker 2 "projets" dans 1 "solution"
    Salut à vous,

    Voilà, cela fait plusieurs heures que j'essaie de résoudre ce problème, mais malgré mes recherches, je n'y arrive pas. C'est pourquoi je fais appel à vous.

    Je suis dans une équipe de projet en C++, et nous avons décidé d'avoir 2 projets dans la même solution sous visual studio 2005.

    Ces deux projets consistent en:
    - 1 projet contenant les sources .cpp et .h ainsi qu'un main fonctionnant en "windows" et non en console.
    - 1 projet contenant les .cpp et .h qui nous serviront pour les tests et qui fonctionne en mode console.

    Tout compile et se linke dès lors que l'on laisse le main de la procedure de test vide (=> déclarations des fonctions et includes OK).

    Pour vous expliquer notre problème, je vais vous donner l'exemple qui nous trouble:

    Nous avons dans le projet principal un fichier .h et .cpp nommés GLV_DATASOURCE_FILE.
    Dans notre projet de test, nous avons un .cpp et un .h nommés test_DATASOURCE_FILE.
    Dans le fichier test_DATASOURCE_FILE.h, nous avons inclus le GLV_DATASOURCE_FILE.h, et dans notre procédure de test, c'est à ce GLV_DATASOURCE_FILE.h que l'on fait appel.

    Tout compile correctement, mais lors du linkage on obtient les erreurs suivantes:

    error LNK2019: unresolved external symbol "public: __thiscall GLV_DATASOURCE_FILE::GLV_DATASOURCE_FILE(class std::basic_ifstream<char,struct std::char_traits<char> > *)" (??0GLV_DATASOURCE_FILE@@QAE@PAV?$basic_ifstream@DU?$char_traits@D@std@@@std@@@Z) referenced in function "void __cdecl test_DATASOURCE_FILE_openFile(void)" (?test_DATASOURCE_FILE_openFile@@YAXXZ)
    3>C:\Documents and Settings\Administrateur\Bureau\Sherbrooke\GlovUS\Modules\SW\GLV_PROJECT\GIPS\Debug\Test_app.exe : fatal error LNK1120: 1 unresolved externals
    Je peux vous confirmer qu'il n'y a aucun souci de code, car en utilisant les fonctions de test dans le main du projet principal, tout fonctionne correctement.

    Nous pensons que le linker n'arrive pas à faire le lien entre les deux projets qui utilisent tous deux des bibliotheques du projet principal (GLV_DATASOURCE_FILE.h).

    Pourtant nous avons défini la dépendance du projet test par rapport au projet principal (le projet test dépend du projet principal) et nous avons avons activé le "multiple startup projects". On a même essayé de mettre le dossier contenant les .obj en input du linker ... Rien ne marche!

    Donc là on ne sait plus vraiment quoi faire. Votre aide serait vraiment bienvenue et nous permettrait de nous concentrer sur notre code plutot que sur l'utilisation d'un logiciel

    Nous vous remercions d'avance!


  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Un collègue vient d'arriver, et la solution a été trouvée!
    Donc pour ceux a qui cela peut servir, il faut récupérer tous ses .cpp et .h, créer un nouveau projet avec et les compiler de telle manière qu'ils fassent un .lib. Ainsi, tous les autres projets de cette solution pourront bénéficier de cette bibliotheque .lib sans aucun problème de link.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. appel entre 2 projets silverlight dans une meme solution
    Par Etudiante_Ines dans le forum Silverlight
    Réponses: 3
    Dernier message: 28/04/2011, 17h31
  2. [AC-2010] Comment créer un nouveau projet ADP dans Access 2010
    Par jloois dans le forum Projets ADP
    Réponses: 4
    Dernier message: 25/04/2010, 21h48
  3. Réponses: 1
    Dernier message: 03/02/2010, 17h17
  4. Comment linker avec odbc32.lib dans le code ? (avec gcc)
    Par _Audrey_ dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 06/11/2008, 17h40

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