如何更改目标的输出目录

Kul*_*ade 51 xcode xcode4

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

静态lib项目的构建路径设置的更改应该被推送到它自己的git repo,以便其他人不必一次又一次地处理这个更改.

我尝试将'Build Products Path'更改为mt static lib target的"$(SRCROOT)/../ SharedData",但它没有任何效果.

谢谢!

小智 46

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

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

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

  • 这似乎是一个XCode设置,而不是你可以检查任何cvs的东西. (2认同)

小智 39

更新了Xcode 5的说明,直至6.3.

__PRE__

你完成了!

  • 这不适用于大型项目,因为此配置保存在用户特定的xcuserdatad文件夹中. (2认同)
  • 对工作区设置的更改未显示在 git 中 (2认同)

Bob*_*phy 28

这是一个可以检查源代码控制的解决方案,我已经验证过可以使用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
Run Code Online (Sandbox Code Playgroud)


Abh*_*tra 7

根据@ gp-coder,xcode 9将遵循该方案.* 按照图片中给出的步骤操作

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

做完了

就这些,多谢


Jul*_*ann 5

另一种方法是在目标的构建设置中编辑构建位置 > 每配置构建产品路径在此处输入图片说明