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

时间:2015-02-10 15:06:19

标签: c++ qt

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

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

2 个答案:

答案 0 :(得分:4)

正如@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构建平台使用我的自定义编译器而不是现有的系统编译器,它添加了我的自定义链接器标志。

答案 1 :(得分:0)

最简单的方法是使用:

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

现在Qt将使用您的自定义编译器而不是现有的系统编译器。