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

Vit*_*lii 9 c++ qt

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

难道Qt的5.4构建系统有任何选项类似于常见的GNU项目CXXCXXFLAGS,以及LDLDFLAGS

Vit*_*lii 6

正如@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
Run Code Online (Sandbox Code Playgroud)

现在 Qt 构建平台使用我的自定义编译器而不是现有的系统,并且它添加了我的自定义链接器标志。