【问题标题】:Cmake uses wrong variable by defaultCmake 默认使用错误的变量
【发布时间】:2013-10-01 17:48:36
【问题描述】:

使用 CMake,默认情况下新构建使用错误的变量。

CMAKE_OSX_SYSROOT 默认为/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk,但该目录不存在(仅10.8.sdk)。

如何设置这个变量来保存另一个默认值?

【问题讨论】:

    标签: macos compilation cmake xcode5


    【解决方案1】:

    第一次配置时

    cmake -DCMAKE_OSX_SYSROOT=/proper/path <path to source>
    

    【讨论】:

    • 适用于该特定项目。下一个项目的默认值仍然是错误的。
    • 那么它要么是 CMake 中的错误,要么是预期的工作方式。您是否尝试在 `CMakeLists.txt 中添加 set(CMAKE_OSX_SYSROOT "/proper/path")
    • 只要没有全局的 CMakeLists.txt 对整台机器都无济于事...问题不在于我 不能 指定单个项目的变量,我确实可以,但问题是我必须为每个 new 项目指定它。
    【解决方案2】:

    我认为你有不同版本的 OS X (macOS) SDK 下:

    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk
    

    CLion通过执行命令进入Darwin-initialize.cmakeOS X版本系统:

    execute_process(COMMAND sw_vers -productVersion
      OUTPUT_VARIABLE CURRENT_OSX_VERSION
      OUTPUT_STRIP_TRAILING_WHITESPACE)
    

    您可以尝试在终端中执行此命令:

    sw_vers -productVersion
    

    我认为要全局设置它可以通过在此文件中设置当前 macOSX SDK 的新值来修改此文件Darwin-initialize.cmake

    【讨论】:

      猜你喜欢
      • 2014-12-18
      • 1970-01-01
      • 2021-11-29
      • 1970-01-01
      • 2018-03-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多