Qt Compiler-Warnung: Überschreiben Befehle für Ziel / ignorieren alte Befehle für Ziel

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

  •  12-10-2019
  •  | 
  •  

Frage

Wenn ich mein Qt-Projekt für Windows kompilieren erhalte ich diese 2 Warnungen:

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'

Ich nehme an, sie hat ein Problem mit meinem Projekt Config zeigen, was ist das Problem und wie kann ich es beheben?

War es hilfreich?

Lösung

Ich habe einmal den gleichen Fehler, vielleicht Ursache des Problems ist anders, aber ich werde sowieso schreiben. In meinem * .proDatei, es war wie:

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

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

cav und Header-Datei wurde wiederholt sich. Ich lösche die Wiederholung enthält und Problem für mich gelöst.

Andere Tipps

make clean und dann make sollten dieses Problem lösen. :). (Oder Rechtsklick auf Projekt in Qt Creator -> Reinigen und dann Rechtsklick auf Projekt in Qt Creator -> Rebuild)

Wenn es nicht funktioniert, manuell die Make-Datei löschen und den Umbau dann Projekt.

In vielen Fällen diese Fehler zu QMake zusammenhängt alle nur darum, die Objektdateien in einem Flat-Ordnern in dem Build-Verzeichnis, die dann Probleme verursacht, wenn zwei Quelldateien die gleichen Namen haben, auch wenn sie in verschiedenen Ordnern sein könnten . Wie

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

In diesem Fall QMake würde klagen sowohl über foo.o und bar.o.

Die Lösung für dieses Problem hinzuzufügen, ist

CONFIG += object_parallel_to_source

auf die .pro-Datei, die die Build-Ordner verursachen wird die Ordnerhierarchie des Quellbaums spiegeln. Nicht sicher, warum dies nicht der Standard.

Das Problem und die Lösung wurden bereits hier darauf hingewiesen aber nicht im Zusammenhang mit der Warnmeldung in diesem Thread diskutiert .

Ich habe auch das gleiche Problem hatte - Makefile die gleiche CPP enthalten und .h-Datei zweimal und gab mir Fehler Multiple definition of <class/function> first defined here.

Stellt sich heraus, die CPP und H-Dateien in Frage wurden bereits als qwtfunctions hinzugefügt, zusätzlich in * .pro-Datei zu sein. So überprüfen qwtfunctions auch wenn keine der oben genannten Antworten für Sie gearbeitet.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top