2015-02-10 13 views
8

Sto costruendo Qt 5.4 e voglio usare la mia versione personalizzata GCC che è diversa da quella del sistema. Non voglio sostituire il sistema GCC con il mio. Tuttavia, non vedo come posso modificare il percorso assoluto del compilatore che utilizza il sistema di generazione Qt, nonché come aggiungere bandiere personalizzate. Solitamente le librerie open source usano le variabili CXX e CXXFLAGS per alterare il percorso assoluto del compilatore e le sue opzioni, ma sembra che il sistema di costruzione di Qt ignori queste variabili.Come compilare Qt con compilatore personalizzato e bandiere personalizzate?

fa Qt 5.4 sistema di compilazione ha opzioni simili al comune per i progetti GNU CXX e CXXFLAGS, così come LD e LDFLAGS?

+0

Quale sistema operativo sei attivo? (Linux?) – Cameron

+3

Probabilmente avrai bisogno di creare un file qmake.conf personalizzato. Vedi [qui] (https://qt-project.org/search/tag/qmake.conf) o [qui] (https://qt-project.org/search/tag/qmake.conf). – BartoszKP

+0

@Cameron Sì, il mio sistema operativo è Linux (CentOS 6). – Vitaliy

risposta

3

Come consigliato da @BartoszKP, è necessario creare una piattaforma di build personalizzata. L'idea più facile (ma meno elegante e meno "educativa") è quella di modificare la piattaforma esistente. Ho usato la piattaforma linux-g++ come base. Questo percorso di file della piattaforma qmake.conf relativo alla directory del codice sorgente è qtbase/mkspecs/linux-g++/qmake.conf. Ho aggiunto le righe seguenti in fondo di questo file:

QMAKE_CXX    = /path/to/custom/g++ 
QMAKE_LINK    = /path/to/custom/g++ 
QMAKE_LFLAGS   += -custom-link-flags-here 
QMAKE_CC    = /path/to/custom/gcc 
QMAKE_LINK_C   = /path/to/custom/gcc 

Ora Qt costruire piattaforma utilizza il mio compilatore personalizzato anziché un sistema esistente, e aggiunge le mie bandiere linker personalizzato.

+0

Grazie per il suggerimento. Non dovevo solo farlo (in effetti per me non sembrava funzionare realmente con la modifica a qmake.conf). In realtà ho dovuto apportare le modifiche a mkspecs/common/g ++ - base.conf; questo ha garantito che sia l'eseguibile qmake sia la build usassero il compilatore desiderato. –

0

Il modo più semplice è quello di utilizzare:

make CC=/path/to/custom/gcc CXX= /path/to/custom/g++ LINK=/path/to/custom/g++ LFLAGS= -custom-link-flags-here 

Ora Qt utilizzerà il compilatore personalizzato anziché un sistema esistente.

Problemi correlati