我正在构建Qt 5.4,我想使用与系统版本不同的自定义构建的GCC
版本。我不想用我的系统取代GCC
。然而,我不知道如何更改Qt构建系统使用的编译器绝对路径,以及如何添加自定义标志。通常,开源库使用CXX
和CXXFLAGS
变量来更改编译器的绝对路径及其选项,但看起来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构建平台使用我的自定义编译器,而不是现有的系统编译器,并添加了我的自定义链接器标志。
最简单的方法是使用:
make CC=/path/to/custom/gcc CXX= /path/to/custom/g++ LINK=/path/to/custom/g++ LFLAGS= -custom-link-flags-here
现在,Qt将使用您的自定义编译器,而不是现有的系统编译器。