64

我正在使用一个工作区,其中有一个主应用程序项目,然后是一个由主应用程序使用的静态库项目。我希望静态库项目将 libX.a 吐出到主应用程序项目目录中,因为我想将此 libX.a 推送到我的 Git 存储库中。

静态库项目的构建路径设置的更改应该推送到它自己的 git 存储库,这样其他人就不必一次又一次地处理这个更改。

我尝试将 mt 静态库目标的“构建产品路径”更改为“$(SRCROOT)/../SharedData”,但它没有任何效果。

谢谢!

4

7 回答 7

48
  1. 转到文件-> 项目设置。

  2. 单击派生数据位置下的高级按钮。在构建位置下选择自定义并选择您的输出目录。这会将变量 $(BUILD_DIR) 更改为您在该字段中设置的任何内容。

  3. 单击完成并转到您的目标设置。在 Build Location 下,您现在可以根据 $(BUILD_DIR) 宏指定目标的输出位置。

于 2012-07-25T20:13:33.753 回答
39

更新了 Xcode 5 到 6.3 的说明。

  1. 转到File->Project settings
  2. 点击Advanced按钮
  3. 单击Done,然后Done再次单击。

你完成了!

于 2014-03-14T15:12:23.143 回答
34

这是一个您可以检查源代码控制的解决方案,我已经验证它适用于 Xcode 6.2。

  1. 将 .xcconfig 文件添加到您的项目中 -有关详细信息,请参阅此 SO 问题。
  2. 在 .xcconfig 文件中,指定 Xcode 标准环境变量 PROJECT_TEMP_DIR、CONFIGURATION_BUILD_DIR 和 BUILT_PRODUCTS_DIR 以指向您希望文件结束的位置。

阅读 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 文件添加到部署目标 -> 配置以使其工作(单击项目,在信息下,在配置下的部署目标部分

于 2015-10-17T22:21:30.503 回答
12

根据@gp-coder,xcode 9 的场景将如下所示。* 按照图片中给出的步骤进行操作

在此处输入图像描述 在此处输入图像描述在此处输入图像描述

做完_

就这些,多谢

于 2017-11-10T08:38:30.010 回答
5

另一种方法是在目标的 Build Settings中编辑Build Locations > Per-configuration Build Products Path 。在此处输入图像描述

于 2018-11-17T15:42:49.400 回答
4

如果要更改项目的构建路径,可以使用以下步骤进行更改。

1) 选择 Xcode > Preferences,然后单击 Locations。

2) 单击派生数据设置的高级按钮。

3) 从可用选项中选择构建位置,然后单击完成。

前任。如果您从“构建位置”选项中选择“自定义”,您的构建将在“/Users/XYZ/Desktop/Build/Products”位置生成

于 2016-03-18T11:15:04.270 回答
2

在 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'

于 2017-09-28T20:52:41.347 回答