我正在使用一个工作区,其中有一个主应用程序项目,然后是一个由主应用程序使用的静态库项目。我希望静态库项目将 libX.a 吐出到主应用程序项目目录中,因为我想将此 libX.a 推送到我的 Git 存储库中。
静态库项目的构建路径设置的更改应该推送到它自己的 git 存储库,这样其他人就不必一次又一次地处理这个更改。
我尝试将 mt 静态库目标的“构建产品路径”更改为“$(SRCROOT)/../SharedData”,但它没有任何效果。
谢谢!
转到文件-> 项目设置。
单击派生数据位置下的高级按钮。在构建位置下选择自定义并选择您的输出目录。这会将变量 $(BUILD_DIR) 更改为您在该字段中设置的任何内容。
单击完成并转到您的目标设置。在 Build Location 下,您现在可以根据 $(BUILD_DIR) 宏指定目标的输出位置。
更新了 Xcode 5 到 6.3 的说明。
File
->Project settings
Advanced
按钮Done
,然后Done
再次单击。你完成了!
这是一个您可以检查源代码控制的解决方案,我已经验证它适用于 Xcode 6.2。
阅读 Apple 的xcconfig 格式参考,似乎只需在 .xcconfig 文件中覆盖 OBJROOT 和 SYMROOT 就可以了——但在我对 Xcode 6.2 的测试中,更改它们没有任何效果。您必须更改上面列出的这三个特定环境变量。
这是我放入 Xcode 6.2 .xcconfig 文件的内容,因此中间文件和可执行文件进入它们的“传统”位置:
// Intermediate build files go here
PROJECT_TEMP_DIR = $(SRCROOT)/build/$(PROJECT_NAME).build
// Build-related files for the active build configuration go here
CONFIGURATION_BUILD_DIR = $(SRCROOT)/build/$CONFIGURATION
// The final product executables and other build products go here
BUILT_PRODUCTS_DIR = $(SRCROOT)/build/$CONFIGURATION
不要忘记将 xcconfig 文件添加到部署目标 -> 配置以使其工作(单击项目,在信息下,在配置下的部署目标部分
如果要更改项目的构建路径,可以使用以下步骤进行更改。
1) 选择 Xcode > Preferences,然后单击 Locations。
2) 单击派生数据设置的高级按钮。
3) 从可用选项中选择构建位置,然后单击完成。
前任。如果您从“构建位置”选项中选择“自定义”,您的构建将在“/Users/XYZ/Desktop/Build/Products”位置生成
在 Xcode 8.x 中,我在构建项目的 .sh 文件中使用命令行选项设置了 derivedData 目录。开发人员可以在他们的用户目录中构建(默认 Xcode 首选项),而官方构建在传统区域创建构建:
SCRIPT_DIR="$( cd "$( 目录名 "${BASH_SOURCE[0]}" )" && pwd )"
xcodebuild -workspace 'my project.xcworkspace' -scheme '我的项目' -configuration Release -derivedDataPath '$SCRIPT_DIR/build'