【问题标题】:cmake generate Xcode project from existing sourcescmake 从现有源生成 Xcode 项目
【发布时间】:2013-05-22 19:49:34
【问题描述】:

这是我开始生成时所拥有的:

iMac:IXCSoftswitch alex$ /usr/bin/cmake -G Xcode .
-- CMAKE_SOURCE_DIR = /Users/alex/Desktop/ixc-v/IXCSoftswitch,   CMAKE_BINARY_DIR = /Users/alex/Desktop/ixc-v/IXCSoftswitch
CMake Error at CMakeLists.txt:25 (MESSAGE):
  Binary and source directory cannot be the same


-- Configuring incomplete, errors occurred!

我该如何解决?我是 CMake 新手,欢迎提供示例。

【问题讨论】:

    标签: macos cocoa cmake


    【解决方案1】:

    CMake 用于生成out-of-source 构建。

    这里的想法是不要将编译期间创建的文件与原始源文件混合。在实践中,您通常从一个新的空构建目录运行 CMake,并将源目录的路径作为参数提供。

    cd IXCSoftswitch
    mkdir build
    cd build
    cmake -G Xcode ..
    

    由 CMake 生成的所有文件(可能是一个 lot)现在都将进入 build 子目录,而您的源目录将保持干净的构建工件。

    Out-of-source 构建的概念起初可能看起来很奇怪,但一旦你习惯了它,它实际上是一种非常方便的工作方式。

    【讨论】:

    • 看起来这是解决方案,但我找不到包含所有源文件的最终 Xcode 项目。你能编辑答案吗,在哪里?
    • 这个由项目本身决定。我建议您查看源代码附带的文档。
    【解决方案2】:

    从项目目录的根目录。

    cmake -G Xcode -H. -B_build
    

    这与上面的答案类似。但是,您正在手动管理源外构建。 -B 设置您的目标构建目录(我碰巧更喜欢_build)。我尝试查找 -H 以仔细检查,但找不到。如果有记忆,它会指定您的 CMakeLists.txt 所在的位置。

    我将此命令保存在 .sh/.bat 文件中(视情况而定)。这样,我可以将构建项目的脚本保存在根目录中,以便新人轻松找到它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-12
      • 2017-06-09
      • 2015-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-16
      • 1970-01-01
      相关资源
      最近更新 更多