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:
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.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
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!
Partager