如何更改目标的输出目录

时间:2012-06-15 18:49:59

标签: xcode xcode4

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

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

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

谢谢!

7 个答案:

答案 0 :(得分:46)

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

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

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

答案 1 :(得分:38)

更新了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

你完成了!

答案 2 :(得分:25)

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

  1. 将.xcconfig文件添加到项目中 - 请参阅this SO question for details.
  2. 在.xcconfig文件中,指定Xcode标准环境变量PROJECT_TEMP_DIR,CONFIGURATION_BUILD_DIR和BUILT_PRODUCTS_DIR以指向您希望文件结束的位置。
  3. 阅读Apple的xcconfig format reference,看起来简单地覆盖.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
    

答案 3 :(得分:6)

根据@ gp-coder,xcode 9的场景如下:* 按照图片中给出的步骤

enter image description here enter image description here enter image description here

做完

多数,谢谢

答案 4 :(得分:4)

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

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

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

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

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

答案 5 :(得分:1)

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

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

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

答案 6 :(得分:0)

另一种方法是在目标的“构建设置”中编辑构建位置>按配置的构建产品路径enter image description here