【问题标题】:CMake broken after update to Xcode 7.0更新到 Xcode 7.0 后 CMake 损坏
【发布时间】:2015-12-19 15:34:44
【问题描述】:

我在 Mac 上使用 QtCreator 和 CMake 进行 c++ 开发,更新到 Xcode 7.0 后,CMake 似乎坏了,运行 CMake 后我收到以下警告:

/usr/local/Cellar/cmake/HEAD/share/cmake/Modules/Platform/Darwin-Initialize.cmake:128 处的 CMake 警告(消息):忽略 CMAKE_OSX_SYSROOT 值:

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

因为目录不存在。调用堆栈(最近调用优先):/usr/local/Cellar/cmake/HEAD/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake:18(包括)CMakeLists.txt:3(项目)

然后编译,我得到了这个错误:

*** 没有规则来制作目标`/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Accelerate.framework'

我知道 Xcode 7.0 已经删除了 MacOSX10.10.sdk 并添加了 MacOSX10.11.sdk,所以我认为可能是我的 cmake 太旧了,我用自制软件将我的 cmake 更新到了 3.3.2 但仍然没有工作,有谁知道如何解决这个问题?谢谢!

【问题讨论】:

  • 这是发生在您刚刚设置的干净存储库中,还是您在升级之前的脏存储库中工作?您的CMakeCache.txt 可能是在升级之前配置的,并且包含对旧目录的引用。如果是这样,您可以尝试删除您的 CMakeCache.txt 并重新配置。
  • 嗯,谢谢@Alex,确实是 CMakeCache.txt 问题,但不在我当前的项目文件夹中,我当前的项目文件夹是一个干净的仓库,但其中一个依赖项有一个旧的 CMakeCache。 txt
  • 听起来不错。我看到您添加了自己的答案,请继续并接受它,以便将来的访问者可以看到它。
  • 我不得不更改/更新CMAKE_OSX_SYSROOT 路径。

标签: xcode macos cmake xcode7


【解决方案1】:

删除当前项目和依赖项中的所有旧 CMakeCache.txt 并重新构建即可解决问题。

【讨论】:

    【解决方案2】:

    如果有人在用 Clion 你可以试试

    Tools > CMake > Reset cache and reload project

    【讨论】:

    • 无效的缓存对我不起作用。我必须手动删除 cmake 输出文件(cmake-build-release 等)并重新加载 cmake 项目。
    • 无效缓存可以解决编译器组件路径的问题,尽管缓存中的 cmake-build-* 文件夹中仍然存在一些垃圾,手动删除和重新运行 CMake 可以完全消除所有问题
    【解决方案3】:

    CMAKE_OSX_SYSROOT 的默认值似乎已烘焙到 cmake 可执行文件中,并自动添加到新创建的 CMakeCache.txt 缓存文件中。

    所以我需要both升级 cmake 然后删除我所有的 CMakeCache.txt 文件以使 CMake 再次工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 2016-02-16
      • 2020-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多