我在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项目的方法?
谢谢!
答案 0 :(得分:0)
实际上我使用Hudson来自动化Kobold2D版本。这是build script for Hudson。
我可以从您的路径中看到您更改了Xcode的默认构建位置(高级,在首选项中的派生数据旁边 - &gt;位置)。有一个设置(遗留)根本不适用于Kobold2D,并且实际上应该打开一个浏览器窗口来解释问题,如果您使用了该设置。
我认为您的设置是“相对于项目”或类似的东西。尝试将构建位置更改为Xcode默认值(唯一),然后重试。如果需要,可以使用自定义位置来获取派生数据。
在任何情况下,如果构建产品的输出位置路径最终位于app项目文件夹中的某个位置(在本例中为:BuildTest),那么ld将无法找到依赖项,因为它们不是全部都在同一个夹。如果确实需要,可以添加一个将.a文件复制到正确位置的预链接步骤。但最好避免这种情况,因为它很容易破裂。
答案 1 :(得分:0)
我的脚本包含
xcodebuild -workspace Bulge.xcworkspace -scheme Bulge-iOS -sdk ${sdk} archive || die "Archive failed"