Xcodebuild生成具有绝对路径的中间文件和.o文件

时间:2018-05-21 06:58:32

标签: ios macos build xcodebuild

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

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

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

实施例:
构建机器项目路径: / Users / MyBuildUser / BuildFolder / XcodeProject
测试机器项目路径(传输位置): / Users / MyTestUser / TestFolder / XcodeProject
路径如: /Users/MyBuildUser/BuildFolder/XcodeProject/Sources/Source.h

2 个答案:

答案 0 :(得分:0)

可以在Xcode>中设置路径Preferences> Locations通过 高级... 按钮:

从那里选择Custom> Relative to Derived Data Relative to Workspace

enter image description here

答案 1 :(得分:0)

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

How to tell CMake to use relative paths