在Visula Studio + CMake构建项目,通常默认是带有命令行窗口,通过设置如下命令,去掉命令行窗口。
cmake命令1:
add_executable(${PROJECT_NAME}
WIN32)
cmake命令2:
set_property(TARGET ${PROJECT_NAME} PROPERTY WIN32_EXECUTABLE true)
在qtcreator构建cmake项目时,通常都是没有命令行窗口,但是,最近在使用qtcreator构建VTK相关的项目时,出现了蛋疼的一幕,编译生成的程序,一定会有命令行窗口,这时,如果设置上述两条cmake命令中的一条,都会报错 MSVCRTD.lib(exe_winmain.obj) : error LNK2019: unresolved external symbol _WinMain 非常奇怪,怎么整都没有用。
在stack overflow网页下,有人说使用
CMAKE_POLICY(SET CMP0020 NEW)
命令后,再使用上述两条命令中的任意一条就可以解决,经实验后,确实如此。