首页 > 解决方案 > Xcodebuild 生成带有绝对路径的中间文件和 .o 文件

问题描述

我正在运行 xcodebuild 通过命令行构建我的项目,奇怪的是构建文件夹中的中间构建文件和目标文件包含来自我的机器的硬编码绝对路径。我认为 xcodebuild 会自动执行此操作。

有没有办法让它们相对?我为此搜索了很长时间,但没有成功。

我需要这个,因为我想在另一台机器上传输整个项目,并通过 xcodebuild 使用 test 参数运行一些 xcode 单元测试,而不重建项目,因此我需要在该机器上传输构建文件。问题是构建文件和 .o 文件中存在来自先前机器(在其上进行构建)的路径,并且它与当前机器路径不匹配。

示例:
构建机项目路径:/Users/MyBuildUser/BuildFolder/XcodeProject
测试机项目路径(转移位置):/Users/MyTestUser/TestFolder/XcodeProject
路径如:/Users/MyBuildUser/BuildFolder/XcodeProject/Sources/Source。 H

标签: iosmacosbuildxcodebuild

解决方案


问题在于我生成项目的方式。生成是使用 CMake 完成的。默认情况下,CMake 在任何地方都使用绝对路径,这会禁止将生成的内容从工作站移动到另一个工作站,如下所述:

如何告诉 CMake 使用相对路径


推荐阅读