第一次在iOS上发帖和新手,但过去几周一直在努力解决工作空间/编译/库问题,虽然我喜欢学习冒险,但它让我受够了,我只是厌倦了,需要帮助。我正在使用XCode4.5
我正在尝试将Box2DCocos2DExamples.xcodeproj文件与另一个项目文件(test.xcodeproj)集成到我自己的工作区文件中,这样我就可以从我在网上找到的这个示例项目文件中获取一些很酷的切片功能。把它放进我的应用程序。看起来像一个简单的请求,不是吗?我设置了一个工作区项目,以便我可以导入整个Box2DCocos2DExamples.xcodeproj文件,并在需要时从同一工作区内修改代码。
我做了以下事情:
// Try to use CADisplayLink director
// if it fails (SDK < 3.1) use the default director
if( ! [CCDirector setDirectorType:kCCDirectorTypeDisplayLink] )
[CCDirector setDirectorType:kCCDirectorTypeDefault];
CCDirector *director = [CCDirector sharedDirector];
我的错误消息根据添加的源文件有所不同但我似乎无法找到我的库(slice.a)文件中的源文件的正确组合来解决所有这些并且它肯定无法获得过了编译的链接阶段。
这是我收到的错误消息示例:
_ccRemoveHDSuffixFromFile“,引自: - libSlice.a中的[CCTextureCache addImageAsync:target:selector:](CCTextureCache.o) - libSlice.a中的[CCTextureCache addImage:](CCTextureCache.o) - [CCTextureCache(PVRSupport)addPVRTCImage:libSlice.a中的bpp:hasAlpha:width:](CCTextureCache.o) - [CCTextureCache(PVRSupport)addPVRImage:]在libSlice.a(CCTextureCache.o)“_ ccpLength”中,引自: - libSlice.a中的[CCLayerGradient updateColor](CCLayer.o)“_ cocos2dVersion”,引自: - libSlice.a(CCDirector.o)中的[CCDirector init]“_gluLookAt”,引自: - libSlice.a中的[CCDirectorIOS setProjection:](CCDirectorIOS.o) - libSlice.a中的[CCCamera locate](CCCamera.o) - libSlice.a(CCGrid.o)中的[CCGridBase set3DProjection]“_gluPerspective”,引自: - libSlice.a中的[CCDirectorIOS setProjection:](CCDirectorIOS.o) - libSlice.a中的[CCGridBase set3DProjection](CCGrid.o)ld:找不到架构i386 clang的符号:error:linker命令 退出代码1失败(使用-v查看调用)
有一段时间我正在将.m文件逐个添加到我的库文件构建阶段,这样我就解决了我看到的错误,但是这个问题花了太长时间并没有让我走上正轨,我仍然觉得我错过了一些显而易见的事情,或者更加(一般)简单的方式来做我正在做的事情。
我知道我已经说了很多而且我道歉但我主要是在寻找有关编译,链接图书馆等方面的一些见解,这有助于我解决我遇到的问题。关于XCode的机制的任何意见都是受欢迎的,因为我真的希望在这里获得深刻的理解。
提前干杯谢谢!
答案 0 :(得分:0)
我并不是这个变通方法的忠实粉丝,但是现在我决定继续前进,所以我想我会发布它。它在概念上有点简单但不一定可扩展,所以最终我必须提出更好的东西。救命啊!
我试图将我的应用程序作为库添加到包含Box2dCocos2D.xcodeproj文件的新工作区,而不是尝试将Box2D / Cocos2D或我的情况(Box2dCocos2DExamples.xcodeproj)作为库添加到我的应用程序中。然后我意识到将我的应用程序的源文件添加到这个新工作区更简单,因为没有太多,并从那里开始重新安排工作区的appDelegate文件。这很好但只是因为我放弃了添加/创建库文件:(