如何使用自定义编译器和自定义标志构建Qt



我正在构建Qt 5.4,我想使用与系统版本不同的自定义构建的GCC版本。我不想用我的系统取代GCC。然而,我不知道如何更改Qt构建系统使用的编译器绝对路径,以及如何添加自定义标志。通常,开源库使用CXXCXXFLAGS变量来更改编译器的绝对路径及其选项,但看起来Qt构建系统忽略了这些变量。

Qt 5.4构建系统是否有类似于GNU项目CXXCXXFLAGS以及LDLDFLAGS的常见选项?

正如@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将使用您的自定义编译器,而不是现有的系统编译器。

最新更新