我正在尝试在Windows中使用SDL制作一个窗口应用程序,使用ninja来构建。当我尝试构建时,出现错误:
lld-link: error: subsystem must be defined
看来我需要设置 /SUBSYSTEM:WINDOWS
链接器标志才能使其工作。我如何在 CMake 中设置它?
我尝试使用 add_executable 中提到的 WIN32
标志,但是当我尝试再次构建时,clang命令没有改变,并且错误仍然发生。
我查看了this question也是,尽管它似乎指的是不同的问题,但没有帮助。 我还尝试了 this question 中的其他答案,添加
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:WINDOWS")
但它只是抛出没有这样的文件或目录:'/SUBSYSTEM:WINDOWS'
。
最佳答案
您可以尝试使用
target_link_options(your_target_name PRIVATE "/SUBSYSTEM:WINDOWS")
请参阅 cmake 文档:https://cmake.org/cmake/help/git-stage/command/target_link_options.html
关于c++ - 在 Windows 中使用 CMake 和 clang++ 设置链接器子系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65379575/