如何更改目标的输出目录

我正在使用一个工作空间,我有一个主要的应用程序项目,然后是主应用程序使用的静态库项目。 我想要静态库项目吐出libX.a到主应用程序项目目录,因为我想把这个libX.a到我的Git仓库。

静态lib项目的构buildpath设置的变化应该推到自己的git仓库,所以其他人不必一次又一次地处理这个变化。

我尝试更改“生成产品path”为“$(SRCROOT)/../共享数据”为mt静态库目标,但它没有任何作用。

谢谢!

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

  2. 单击“派生数据位置”下的“高级”button。 在构build位置下select自定义并select您的输出目录。 这会将variables$(BUILD_DIR)更改为您在该字段中设置的值。

  3. 点击完成并转到您的目标设置。 在“构build位置”下,您现在可以根据$(BUILD_DIR)macros指定目标的输出位置。

更新了Xcode 5的说明,直到6.3。

  1. Go to File -> Project settings 2. Click the Advanced button 3. Select "Custom" and select "Relative to Workspace" in the pull down 4. click done, done 

你完成了!

这里有一个解决scheme,你可以检查到源代码pipe理,我已经validation了与Xcode 6.2的工作。

  1. 添加一个.xcconfig文件到你的项目 – 看到这个问题的细节。
  2. 在.xcconfig文件中,指定Xcode标准环境variablesPROJECT_TEMP_DIR,CONFIGURATION_BUILD_DIR和BUILT_PRODUCTS_DIR指向您希望文件结束的位置。

读取苹果公司的xcconfig格式参考 ,似乎只需重写.xcconfig文件中的OBJROOT和SYMROOT就可以了 – 但是在我testingXcode 6.2时,更改它们没有任何效果。 你必须改变上面列出的三个特定的环境variables。

这就是我放入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 

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

1)selectXcode>首选项,然后单击位置。

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

3)从可用选项中select一个构build位置,然后单击完成。

恩。 如果您从“ 构build位置”选项select“自定义”,则将在“/ Users / XYZ / Desktop / Build / Products”位置生成构build

在Xcode 8.x中,我在生成项目的.sh文件中使用命令行选项设置了derivedData目录。 开发人员可以构build到他们的用户目录(默认的Xcode首选项),而官方版本创build在传统领域的构build:

SCRIPT_DIR =“$(cd”$(dirname“$ {BASH_SOURCE [0]}”)“&& pwd)”

xcodebuild -workspace'my project.xcworkspace'-scheme'my project'-configuration Release -derivedDataPath'$ SCRIPT_DIR / build'

根据@ gp-coder,xcode 9的情况如下。* 按照图中给出的步骤

在这里输入图像说明 在这里输入图像说明 在这里输入图像说明

做完了

就这些了,谢谢