如何解决在 Windows 中使用 CMake 和 clang++ 设置链接器子系统
我正在尝试使用 ninja 构建在 windows 中使用 SDL 的窗口化应用程序。当我尝试构建时,出现错误:
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")
但它只是抛出 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。