VisualC++ Express : linkage, sous-dossier : le clash
Bonjour à tous,
Je possède un projet C++ sous Linux que je souhaite importer sous Visual Express (la version gratuite). Sous Linux, aucun problème, l'exécutable se crée et le programme marche. Mais sous Visual Express, il y a une erreur à l'édition de lien que je ne comprends pas (ici avec un exemple bidon pour plus de simplicité, qui ne fait strictement rien) :
Citation:
1>------ Début de la génération*: Projet*: testbidon, Configuration*: Debug Win32 ------
1>Compilation en cours...
1>main.cpp
1>Édition des liens en cours...
1>main.obj : error LNK2019: symbole externe non résolu "public: void __thiscall Bidon::print_bidon(void)" (?print_bidon@Bidon@@QAEXXZ) référencé dans la fonction _main
1>D:\Boulot\ENSE3\2A\Stage\Work\program_visualcpp\biotik\Debug\testbidon.exe : fatal error LNK1120: 1 externes non résolus
L'arborescence du code et son contenu sont les suivants :
main.cpp :
Code:
1 2 3 4 5 6
| #include "bidon/bidon.h"
int main() {
Bidon bidon;
bidon.print_bidon();
return(0);
} |
bidon/bidon.cpp (ici je définis la méthode print_bidon) :
Code:
1 2 3 4 5 6
|
#include "bidon.h"
void print_bidon() {
return;
} |
bidon/bidon.h (ici je déclare juste la méthode et définis la classe) :
Code:
1 2 3 4 5 6
|
class Bidon {
public:
void print_bidon();
}; |
Quand je teste ce code en mettant tout les fichiers dans le même répertoire, tout va bien. Mais ici, c'est l'arborescence avec le sous-répertoire ("bidon") qui pose problème, et justement il est important de conserver cette arborescence dans le projet initial. Comment donc faire fonctionner ce programme sans changer l'arborescence des fichiers ?
J'ai trouvé une personne sur les forums qui a eu le même problème, mais impossible de la contacter... please help me !! :o)
P.S : tous les .obj sont correctement générés, c'est bien le linkage qui foire...