Mentre altri file sorgente utilizzano i flag predefiniti? Alcuni dei miei file sorgente necessitano di alcune definizioni di preprocessore C++ aggiuntive. Utilizzo Qt 5. Ho trovato che QMAKE_CXXFLAGS è destinato a un uso globale nei progetti qmake.Come specificare il flag del compilatore su un singolo file sorgente con qmake?
risposta
questo è quello che consente di fare in teoria per la pittura GUI nella sorgente di Qt in sé:
SOURCES_NOOPTIMIZE = somefile.cpp
nooptimize.name = nooptimize
nooptimize.input = SOURCES_NOOPTIMIZE
nooptimize.dependency_type = TYPE_C
nooptimize.variable_out = OBJECTS
nooptimize.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_IN_BASE}$${first(QMAKE_EXT_OBJ)}
nooptimize.commands = $${QMAKE_CXX} $(CXXFLAGS) -O0 $(INCPATH) -c ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} # Note the -O0
QMAKE_EXTRA_COMPILERS += nooptimize
Vedi anche l'uso avanzato in the documentation come aggiungere un compilatore:
specifiche del compilatore personalizzato sostenere i seguenti membri:
membro Descrizione
comandi I comandi utilizzati per generare l'output dall'input.
CONFIG Opzioni di configurazione specifiche per il compilatore personalizzato. Vedi la tabella CONFIG per i dettagli.
depend_command Specifica un comando utilizzato per generare l'elenco di dipendenze per l'uscita.
dependency_type Specifica il tipo di file l'uscita è. Se è un tipo noto (come TYPE_C, TYPE_UI, TYPE_QRC), viene gestito come uno di quei tipi di file.
dipende Specifica le dipendenze del file di output.
ingresso La variabile che specifica i file che dovrebbero essere elaborati con il compilatore personalizzato.
nome Una descrizione di cosa sta facendo il compilatore personalizzato. Questo è usato solo in alcuni backend.
output Il nome file creato dal compilatore personalizzato.
output_function specifica una funzione qmake personalizzato che viene utilizzato per specificare il nome del file da creare.
variabili Indica che le variabili specificate qui vengono sostituiti con $ (QMAKE_COMP_VARNAME) quando indicato nel file pro da $ (VARNAME).
variable_out La variabile che i file creati dalla uscita dovrebbero essere aggiunti.
L'ultima riga è un invito per downvotes e close vote. Ti suggerisco di rimuoverlo. Inoltre, puoi chiarire perché vuoi creare un file in modo diverso dal resto? Cosa stai cercando di ottenere? – lpapp
@lpapp grazie per il vostro consiglio. Ho modificato la mia domanda. – cetron