如何指定XCode存储已编译二进制文件的位置?

时间:2013-01-20 20:11:59

标签: xcode binary-data

我正在用C ++ 11编写,由于某种原因,我无法获得gcc来编译它,所以我一直在使用XCode。但是,我正在编写从命令行获取参数的程序,因此我需要能够从shell运行它们。现在,XCode正在将它编译的二进制文件埋藏在一个深度和不方便的位置(/ Users / username / Library / Developer / XCode / DerivedData / ProjectName / Build / Products / Debug / ... yikes!)。我希望能够为他们指定一个更好的位置,也可能是另一个名称。我正在使用XCode 4.5.2。任何人都可以帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:8)

您可以为Xcode首选项中的所有项目全局配置一次:

“Xcode”菜单 - > “偏好......” - > “地点”标签 - > “高级......”按钮

或者您可以按项目更改它。只需打开一个项目,选择一个项目窗口,然后:

“文件”菜单 - > “项目设置......” - > “高级...”

除非另行配置,否则新项目将使用您在全局Xcode首选项中配置的默认值,但您可能希望为各个项目覆盖它们。

请注意,如果选择“Legacy”,Xcode会将它们默认放置在Xcode本身所在的文件夹中,但“Legacy”也允许您使用构建设置指定位置,因此您甚至可以设置不同的位置每个目标。项目设置名为Build Products PathIntermediate Build Files Path。如果您未处于“传统”模式(通过在项目上设置或在全局范围内设置所有项目),这两个构建设置无效并完全被忽略。

另请注意,使用xcodebuild在命令行上构建Xcode项目时,无论您在Xcode中还是在项目设置中配置了什么,它们始终都以传统模式构建。这很有用,因为它允许您通过覆盖我上面提到的两个项目设置来覆盖命令行的输出位置。这可以在xcconfig文件中完成,只需告诉xcodebuild从这样的文件(-xcconfig <filename>)读取配置,或者可以通过添加{{1}直接在命令行上完成在<setting>=<value>调用结束时作为参数。在xcodebuild文件中或通过命令行指定时,这两个设置名为xcconfig(= SYMROOT)和Build Products Path(= OBJROOT)。

答案 1 :(得分:1)

您可以在偏好设置中指定位置 - &gt;位置。我使用~/tmp

enter image description here

答案 2 :(得分:0)

或者在Xcode中你可以进入&#34; Build Phases&#34;和&#34;添加新的构建阶段&#34;,选择&#34; New Run Script Phase&#34;。然后只需添加类似于cp /path/to/build/products/productname /path/to/where/you/want/to/copy/newproductname的脚本。 cp是命令行 copy 命令。这是将构建产品放在您想要的地方的好方法。

相关问题