avviso del compilatore Qt: ignorando i comandi per target / ignorando i vecchi comandi per la destinazione

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

  •  12-10-2019
  •  | 
  •  

Domanda

Quando sto compilando il mio progetto Qt per Windows ricevo questi 2 avvertenze:

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'

Presumo che indicano qualche problema con il mio progetto di configurazione, qual è il problema e come posso risolvere il problema?

È stato utile?

Soluzione

ho ottenuto lo stesso errore una volta, forse causa del problema è diverso, ma scriverò comunque. Nel mio file * .pro, è stato come:

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

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

cpp e file di intestazione si ripeteva. Cancello la ripetizione comprende e problema risolto per me.

Altri suggerimenti

make clean e make quindi dovrebbe risolvere questo problema. :). (Oppure fare clic destro sul progetto in Qt Creator -> Pulire e quindi fare clic destro sul progetto in Qt Creator -> Ricostruisci)

Se non funziona, eliminare manualmente il makefile e la ricostruzione quindi progetto.

In molti casi, questo errore è di QMake solo mettendo tutti i file oggetto in una cartella flat nella directory di compilazione, che poi provoca problemi se due file di origine hanno lo stesso nome, anche se potrebbero essere in diverse cartelle . Come ad esempio

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

In questo caso sarebbe QMake lamentarsi sia foo.o e bar.o.

La soluzione a questo problema è quello di aggiungere

CONFIG += object_parallel_to_source

per il file .pro che causerà la cartella build rispecchiano la gerarchia di cartelle dell'albero dei sorgenti. Non capisco perché questo non è il default.

Il problema e la soluzione sono stati precedentemente sottolineato qui ma non nel contesto del messaggio di avviso discusso in questa discussione .

Ho avuto lo stesso problema, come pure - Makefile incluso lo stesso cpp e .h file due volte, e stava dando me Multiple definition of <class/function> first defined here errori.

Si scopre che i file cpp e .h in questione sono stati già aggiunti come qwtfunctions, oltre ad essere in file * .pro. Così controllare qwtfunctions pure se nessuna delle risposte di cui sopra ha funzionato per voi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top