【问题标题】:Wl,--stack,4194304 error Visual Studio/CMakeWl,--stack,4194304 错误 Visual Studio/CMake
【发布时间】:2018-09-07 21:24:35
【问题描述】:

所以我使用 CMake 构建了一个开源项目并在 Visual Studio 中打开它,但出现此错误:

命令行错误 D8021:无效的数字参数 '/Wl,--stack,4194304'

我的 CMakeLists.txt 有这个:

如果(WIN32) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--stack,4194304 -fpermissive") endif()

我不确定这是什么或如何修复它。任何帮助表示赞赏

【问题讨论】:

    标签: c++ visual-studio-2015 compiler-errors cmake


    【解决方案1】:

    您正在为 GCC 提供 Visual Studio 编译器开关。

    if (WIN32)
      if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
         set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--stack,4194304 -fpermissive")
      elseif(MSVC)
        # add options for Visual C/C++ Compiler here
        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /F 4194304")
      endif()
    endif()
    

    另请参阅In cmake, how can I test if the compiler is Clang? 如何可靠地识别您的编译器。

    有关许可标志,请参阅Visual Studio (2015) fpermissive equivalent flag

    编辑:根据讨论为 GCC 添加了更可靠的编译器检查。

    【讨论】:

    • 那么对于 MSVC 来说没有等价物吗?
    • 有一个。刚刚将其添加到示例中。
    • 知道为什么我不断收到命令行错误 D8004: '/W' requires an argument 吗?
    • 那么请尝试"${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU"而不是CMAKE_COMPILER_IS_GNUCC
    猜你喜欢
    • 1970-01-01
    • 2011-12-16
    • 2021-08-22
    • 2023-03-11
    • 2019-11-29
    • 1970-01-01
    • 2022-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多