【问题标题】:Setting linker subsystem with CMake and clang++ in windows在 Windows 中使用 CMake 和 clang++ 设置链接器子系统
【发布时间】:2020-12-20 11:53:44
【问题描述】:

我正在尝试在 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")

但它只是抛出no such file or directory: '/SUBSYSTEM:WINDOWS'

【问题讨论】:

    标签: c++ windows cmake clang++


    【解决方案1】:

    你可以试试

    target_link_options(your_target_name PRIVATE "/SUBSYSTEM:WINDOWS")
    

    查看 cmake 文档:https://cmake.org/cmake/help/git-stage/command/target_link_options.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-04
      • 2012-05-04
      • 1970-01-01
      • 1970-01-01
      • 2021-02-13
      • 2013-02-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多