我迷路了。
我以前经常使用CCScrollLayer,它是一个cocos2d类,但现在我遇到了一个奇怪的错误 - mach-o-linker
。
CCScrollLayer.h+m
)CCScrollLayer *scroller
; 然后,当我把这行代码:
scroller = [[CCScrollLayer alloc] initWithLayers:[NSArray arrayWithObjects:page1,page2,nil] widthOffset:100];
我遇到了机器人错误!!!
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_CCScrollLayer", referenced from:
objc-class-ref in mainScene.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我在项目设置中定义了armv6和7。
那是什么? 我知道它不是代码错误,而是不同的东西。答案 0 :(得分:0)
可能你应该将CCScrollLayer的实现文件添加到你目标的BuildPhases中的CompileSources中,如果它还没有
答案 1 :(得分:0)
它们是否已添加到正确的目标中?我不确定,但我认为很多机器人 - 链接器错误都有相同的解决方案。
答案 2 :(得分:0)
确保CCScrollLayer.m
列在项目的编译源阶段。
错误意味着链接器无法在其获取的所有对象中找到命名类。链接器的任务是构建一个最终的可执行文件,其中所有文件间链接都正确绑定,如果它无法满足其中一个链接,则会失败。
这样做的常见原因是“忘记”将其中一个编译文件添加为链接器的源文件。由于Xcode基于所有已编译的文件自动执行此操作 - 您很可能忘记将其添加为可编译文件。
答案 3 :(得分:0)
检查以确保您的编译源中有CCScrollLayer。如果不存在,请添加: 目标>构建阶段>编译来源