2014-12-29 24 views
5

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?

+0

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

+0

@lpapp grazie per il vostro consiglio. Ho modificato la mia domanda. – cetron

risposta

4

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.