如何更改目标的输出目录
我正在使用一个工作空间,我有一个主要的应用程序项目,然后是主应用程序使用的静态库项目。 我想要静态库项目吐出libX.a到主应用程序项目目录,因为我想把这个libX.a到我的Git仓库。
静态lib项目的构buildpath设置的变化应该推到自己的git仓库,所以其他人不必一次又一次地处理这个变化。
我尝试更改“生成产品path”为“$(SRCROOT)/../共享数据”为mt静态库目标,但它没有任何作用。
谢谢!
-
转到文件 – >项目设置。
-
单击“派生数据位置”下的“高级”button。 在构build位置下select自定义并select您的输出目录。 这会将variables$(BUILD_DIR)更改为您在该字段中设置的值。
-
点击完成并转到您的目标设置。 在“构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的工作。
- 添加一个.xcconfig文件到你的项目 – 看到这个问题的细节。
- 在.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的情况如下。* 按照图中给出的步骤
做完了
就这些了,谢谢