如何防止qmake在链接器命令行上添加控制台子系统?

时间:2013-09-06 21:24:00

标签: qt qt5 qmake

qmake将/SUBSYSTEM:CONSOLE/SUBSYSTEM:WINDOWS放在链接器命令行上。尽管项目文件中存在CONFIG += windowsCONFIG -= console,但这仍然存在。这是使用Qt 5.1.1,app模板,否则默认设置。 mkscpec是win32-msvc2012。我正在使用widgetstestlib子系统。

如何摆脱CONSOLE子系统?

1 个答案:

答案 0 :(得分:4)

在Qt 5中,使用testlib模块通过console机制添加MODULE_CONFIG选项。无论您指定哪个全局选项,这都会强制/SUBSYSTEM: CONSOLE到链接器命令行,即使您使用CONFIG -= console

console配置在qtbase/src/testlib/testlib.pro内的testlib模块配置中给出。这意味着它ends up in QT.testlib.CONFIG variable。  如果要在不强制控制台子系统的情况下使用testlib,则可以轻松删除它。在项目文件中,添加

QT.testlib.CONFIG -= console