0

我在 Kobold2d 论坛上发布了这个,但还没有收到任何回复。我希望 SO 的更多观众可以提供帮助。

我正在尝试让我们的 Kobold2d 项目与我们的 Hudson CI 服务器一起工作。我想要一个使用 xcodebuild 执行正确命令行构建指令的脚本,但是我遇到了任何 Kobold2d 项目的问题。

作为测试,我创建了一个 Orthogonal-Tilemap 模板项目并在 xcode 4.4.1 gui 中成功构建/运行它。从命令行单独构建项目 Kobold2D-Libraries.xcodeproj 报告构建成功(尽管我不知道任何产品存储在哪里),但是 tilemap 项目失败并显示以下消息:

ld: file not found: <path>/Kobold2D/Kobold2D-2.0.3/BuildTest/build/Release-iphoneos/libkobold2d-ios.a

我可以在此消息中找到的唯一信息是关于在 xcode gui 中构建的错误,这不是问题。

我还尝试让 xcodebuild 构建工作区文件,但由于多个依赖项错误而失败。

有没有人找到从命令行成功构建 Kobold2d 项目的方法?

谢谢!

4

2 回答 2

0

实际上,我使用 Hudson 来自动化 Kobold2D 构建。这是Hudson 的构建脚本

我可以从您的路径中看到您更改了 Xcode 的默认构建位置(高级,在 Preferences -> Locations 中的 Derived Data 旁边)。有一个设置(旧版)在 Kobold2D 中根本不起作用,如果您使用了该设置,实际上应该打开一个浏览器窗口来解释问题。

我认为您的设置是“相对于项目”或类似的。尝试将构建位置更改为 Xcode 默认(唯一),然后重试。如果需要,您可以为派生数据使用自定义位置。

在任何情况下,如果构建产品的输出位置路径最终位于应用程序项目文件夹中的某个位置(在本例中为 BuildTest),那么 ld 将无法找到依赖项,因为它们并不都在同一个文件夹中。如果您确实需要,您可以添加一个预链接步骤,将 .a 文件复制到正确的位置。但最好避免这种情况,因为它很容易破裂。

于 2012-09-12T23:02:21.140 回答
0

我的脚本包括

xcodebuild -workspace Bulge.xcworkspace -scheme Bulge-iOS -sdk ${sdk} archive || die "Archive failed"
于 2013-01-30T18:58:29.297 回答