Bonjour,
Bien que j'ai fait de nombreuses recherches je ne trouve pas la réponse à ma question sur l'internet. Je suppose qu'il s'agit d'une simple configuration à faire dans le .pro mais ...
Donc ! J'ai un projet avec deux fichiers du même nom (dans des sous-dossiers différents). Ce nom étant le nom de la classe, et ces deux classes étant dans des espaces de nom différents. On considère que la classe s'appelle A :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 / dossier1/ A.hpp A.cpp dossier2/ A.hpp A.cpp
Le problème est que le Makefile généré par Qt ne créé pas de sous dossier pour mettre les .o, autrement dit lorsqu'il compile la deuxième classe A il écrase la première (sortie de g++) :
Sur d'autres IDE comme codeblocks, le makefile recréé les sous-dossier pour placer les .o (par exemple debug/dossier1/A.o et debug/dossier2/A.o) et il n'y a pas de conflits.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Makefile.Debug:1223: warning: overriding commands for target `debug/A.o' Makefile.Debug:931: warning: ignoring old commands for target `debug/A.o'
J'ai regardé du coté des SUBSDIR mais il me semble que cela veut dire que chaque sous-dossier est un projet à part entière (avec son propre .pro ...) donc il me semble que ce n'est pas ce que je veux.
Comment faire pour que cela passe avec QtCreator ? Comme je l'ai dit je pense qu'il s'agit d'une banale option dans le .pro mais je n'ai pas trouvé.
Merci d'avance =)
Partager