在 windows 中使用 CMake 和 clang++ 设置链接器子系统
Setting linker subsystem with CMake and clang++ in windows
我正在尝试在 windows 中使用 SDL 创建一个窗口应用程序,使用 ninja 来构建。当我尝试构建时,出现错误:
lld-link: error: subsystem must be defined
看来我需要设置 /SUBSYSTEM:WINDOWS
链接器标志才能正常工作。我如何在 CMake 中设置它?
我尝试使用 add_executable 中提到的 WIN32
标志,但是当我再次尝试构建时,clang 命令没有改变,错误仍然存在。
我也看了,尽管它似乎指的是另一个问题,但没有帮助。
我也在 this question 中尝试了其他答案,添加
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:WINDOWS")
但它只是抛出 no such file or directory: '/SUBSYSTEM:WINDOWS'
。
您可以尝试使用
target_link_options(your_target_name PRIVATE "/SUBSYSTEM:WINDOWS")
查看 cmake 文档:https://cmake.org/cmake/help/git-stage/command/target_link_options.html
我正在尝试在 windows 中使用 SDL 创建一个窗口应用程序,使用 ninja 来构建。当我尝试构建时,出现错误:
lld-link: error: subsystem must be defined
看来我需要设置 /SUBSYSTEM:WINDOWS
链接器标志才能正常工作。我如何在 CMake 中设置它?
我尝试使用 add_executable 中提到的 WIN32
标志,但是当我再次尝试构建时,clang 命令没有改变,错误仍然存在。
我也看了
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:WINDOWS")
但它只是抛出 no such file or directory: '/SUBSYSTEM:WINDOWS'
。
您可以尝试使用
target_link_options(your_target_name PRIVATE "/SUBSYSTEM:WINDOWS")
查看 cmake 文档:https://cmake.org/cmake/help/git-stage/command/target_link_options.html