2015-02-10 102 views
8

我正在構建Qt 5.4,我想用我自定義的GCC版本,這個版本與系統版本不同。我不想用我的系統替換系統GCC。但是,我不明白我該如何修改Qt編譯系統使用的編譯器絕對路徑,以及如何添加自定義標誌。通常開源庫使用CXXCXXFLAGS變量來改變編譯器的絕對路徑及其選項,但它看起來像Qt構建系統忽略這些變量。如何用自定義編譯器和自定義標誌來構建Qt?

Qt 5.4構建系統是否有類似於GNU項目CXXCXXFLAGS以及LDLDFLAGS的常見選項?

+0

你在什麼操作系統上? (Linux?) – Cameron 2015-02-10 15:15:57

+3

您可能需要創建一個定製的qmake.conf文件。見[這裏](https://qt-project.org/search/tag/qmake.conf)或[這裏](https://qt-project.org/search/tag/qmake.conf)。 – BartoszKP 2015-02-10 15:17:59

+0

@Cameron是的,我的操作系統是Linux(CentOS 6)。 – Vitaliy 2015-02-10 15:26:38

回答

3

作爲@BartoszKP的建議,它需要製作自定義的構建平臺。更容易(但不太優雅,不太「教育」)的想法是修改現有的平臺。 我使用linux-g++平臺作爲基礎。此平臺qmake.conf相對於源代碼目錄的文件路徑爲qtbase/mkspecs/linux-g++/qmake.conf。我加了以下幾行這個文件的最底部:

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 

現在的Qt構建平臺使用我的自定義編譯器,而不是現有的系統之一,它增加了我的自定義鏈接標誌。

+0

感謝您的提示。我不僅要這樣做(實際上對於我來說,它似乎沒有實際上與qmake.conf的變化一起工作)。我實際上必須對mkspecs/common/g ++ - base.conf進行更改;這確保了qmake可執行文件和構建都使用了所需的編譯器。 – 2016-01-06 19:24:20

0

最簡單的方法是使用:

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

現在的Qt會使用,而不是現有的系統中的一個自定義的編譯器。