我正在構建Qt 5.4,我想用我自定義的GCC
版本,這個版本與系統版本不同。我不想用我的系統替換系統GCC
。但是,我不明白我該如何修改Qt編譯系統使用的編譯器絕對路徑,以及如何添加自定義標誌。通常開源庫使用CXX
和CXXFLAGS
變量來改變編譯器的絕對路徑及其選項,但它看起來像Qt構建系統忽略這些變量。如何用自定義編譯器和自定義標誌來構建Qt?
Qt 5.4構建系統是否有類似於GNU項目CXX
和CXXFLAGS
以及LD
和LDFLAGS
的常見選項?
我正在構建Qt 5.4,我想用我自定義的GCC
版本,這個版本與系統版本不同。我不想用我的系統替換系統GCC
。但是,我不明白我該如何修改Qt編譯系統使用的編譯器絕對路徑,以及如何添加自定義標誌。通常開源庫使用CXX
和CXXFLAGS
變量來改變編譯器的絕對路徑及其選項,但它看起來像Qt構建系統忽略這些變量。如何用自定義編譯器和自定義標誌來構建Qt?
Qt 5.4構建系統是否有類似於GNU項目CXX
和CXXFLAGS
以及LD
和LDFLAGS
的常見選項?
作爲@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構建平臺使用我的自定義編譯器,而不是現有的系統之一,它增加了我的自定義鏈接標誌。
感謝您的提示。我不僅要這樣做(實際上對於我來說,它似乎沒有實際上與qmake.conf的變化一起工作)。我實際上必須對mkspecs/common/g ++ - base.conf進行更改;這確保了qmake可執行文件和構建都使用了所需的編譯器。 – 2016-01-06 19:24:20
最簡單的方法是使用:
make CC=/path/to/custom/gcc CXX= /path/to/custom/g++ LINK=/path/to/custom/g++ LFLAGS= -custom-link-flags-here
現在的Qt會使用,而不是現有的系統中的一個自定義的編譯器。
你在什麼操作系統上? (Linux?) – Cameron 2015-02-10 15:15:57
您可能需要創建一個定製的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
@Cameron是的,我的操作系統是Linux(CentOS 6)。 – Vitaliy 2015-02-10 15:26:38