Qt avertissement du compilateur: commandes pour cible remplaçant / ignorer anciennes commandes pour cible

StackOverflow https://stackoverflow.com/questions/4722400

  •  12-10-2019
  •  | 
  •  

Question

Quand je compiler mon projet Qt pour Windows que je reçois ces 2 avertissements:

Makefile.Debug:109: warning: overriding commands for target `debug/moc_mainwindow.cpp'
Makefile.Debug:106: warning: ignoring old commands for target `debug/moc_mainwindow.cpp'

Je suppose qu'ils indiquent un problème avec ma config de projet, quel est le problème et comment puis-je résoudre ce problème?

Était-ce utile?

La solution

Je suis la même erreur une fois, peut-être source de votre problème est différent, mais je vais écrire de toute façon. Dans mon fichier * .pro, il était comme:

SOURCES += main.cpp\
    mainwindow.cpp\
    serialHelper.cpp \
serialHelper.cpp

HEADERS  += mainwindow.h\
     += serialHelper.h \
serialHelper.h \
typeDefinitions.h

cpp et le fichier d'en-tête se répète. Supprimer la répétition et comprend le problème est résolu pour moi.

Autres conseils

make clean et make alors devraient résoudre ce problème. :). (Ou faites un clic droit sur le projet dans Qt Creator -> Nettoyer et puis faites un clic droit sur le projet dans Qt Creator -> Régénérer)

Si cela ne fonctionne pas, supprimez manuellement le makefile et la reconstruction puis projet.

Dans beaucoup de cas, cette erreur est liée à QMake simplement mettre tous les fichiers objets dans un dossier plat dans le répertoire de construction, ce qui provoque alors des problèmes si deux fichiers sources ont le même nom, même si elles peuvent être dans différents dossiers . Tels que

SOURCES += foo.cpp
SOURCES += bar.cpp
SOURCES += bla/foo.cpp
SOURCES += bla/bar.cpp

Dans ce cas QMake se plaindrait à la fois foo.o et bar.o.

La solution à ce problème est d'ajouter

CONFIG += object_parallel_to_source

au fichier .pro qui provoquera le dossier de construction pour refléter la hiérarchie des dossiers de l'arborescence source. Je ne sais pas pourquoi ce n'est pas la valeur par défaut.

Le problème et la solution ont été précédemment signalé mais pas dans le contexte du message d'avertissement discuté dans ce fil .

J'ai eu la même question que bien - Makefile inclus la même .cpp et .h fichier deux fois, et me donnait Multiple definition of <class/function> first defined here erreurs.

Turns sur les Cpp et les fichiers .h en question ont déjà été ajoutés comme qwtfunctions, en plus d'être dans le fichier * .pro. Vérifiez donc qwtfunctions aussi bien si aucune des réponses ci-dessus a travaillé pour vous.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top