直到昨天,我还在使用 Visual Studio 2008 和 CMake(结合 CPack)在 Windows 下构建我的项目——效果很好。但是现在我切换到 2010 版并遇到了一个(一个旧的)问题:喜爱的后台控制台(因为 Windows 认为我们有一个花哨的控制台应用程序):
我有一个 CMake 决定来避免这个窗口:
if(MSVC)
target_link_libraries(client window core ${QT_QTMAIN_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTCORE_LIBRARY})
set_target_properties(client PROPERTIES LINK_FLAGS "/SUBSYSTEM:WINDOWS")
else()
target_link_libraries(client window core ${QT_QTGUI_LIBRARY} ${QT_QTCORE_LIBRARY} )
endif()
这适用于 Visual Studio 2008,但不适用于 2010(/SUBSYSTEM 没用)。所以我的问题是:有没有人有这方面的经验或在 CMake 中解决了它?我不想将我的主要功能更改为 WinMain(对于 Unix/Linux/OS X 和 Windows 具有相同的代码库)或更改 Visual Studio 中的 SUBSYSTEM 设置(这不是 CMake 背后的想法)