qmake将/SUBSYSTEM:CONSOLE
和/SUBSYSTEM:WINDOWS
放在链接器命令行上。尽管项目文件中存在CONFIG += windows
和CONFIG -= console
,但情况仍然如此。这是Qt 5.1.1,app
模板,否则默认设置。mkscpec 是 win32-msvc2012。我正在使用widgets
和testlib
子系统。
如何摆脱CONSOLE
子系统?
在Qt 5中使用testlib
模块通过MODULE_CONFIG
机制添加console
选项。这会强制将/SUBSYSTEM: CONSOLE
连接到链接器命令行,无论指定什么全局选项,即使使用 CONFIG -= console
也是如此。
console
配置在 qtbase/src/testlib/testlib.pro
中的 testlib 模块配置中给出。这意味着它最终出现在QT.testlib.CONFIG
变量中。 如果要在不强制控制台子系统的情况下使用 testlib
,则可以轻松删除它。在项目文件中,添加
QT.testlib.CONFIG -= console