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



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

如何摆脱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

最新更新