2012-09-08 33 views
0

我迷路了。mach-o-linker錯誤,因爲class-CCScrollLayer?

我以前用的是CCScrollLayer很多,它是Cocos2d類,但現在我得到一個奇怪的錯誤 - mach-o-linker

  1. 我已經添加了類到我的項目(CCScrollLayer.h+m
  2. 我已經導入他們
  3. 我已經定義:CCScrollLayer *scroller;

然後,當我把下面這行代碼:

scroller = [[CCScrollLayer alloc] initWithLayers:[NSArray arrayWithObjects:page1,page2,nil] widthOffset:100]; 

我得到的Mach-O-鏈接錯誤!

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

也許你應該在你的目標BuildPhases爲CCScrollLayer添加實現文件的CompileSources如果它現在還沒有

+0

試過了。它然後給我添加更多的錯誤.. – user1280535

0

確保CCScrollLayer.m上市編譯源代碼項目的階段。

錯誤意味着,鏈接器未能找到命名的類在它已經取得了所有對象。鏈接器的任務是構建一個最終的可執行文件,其中包含所有文件間鏈接的正確綁定,並且如果它無法完成其中一個鏈接失敗。

的常見的原因,這是「忘記」添加編譯文件作爲連接源文件中的一個。由於Xcode會根據所有已編譯的文件自動執行該操作,因此您很可能忘記將其作爲可編譯文件添加進去。

+0

我已經將文件拖到我的項目,並且我已經將文件添加到編譯源的編譯設置,當我將它添加到那裏,我得到2個更多的錯誤,錯誤留在那裏.. – user1280535

+0

修復編譯錯誤,鏈接器錯誤應該消失。 – Farcaller

0

檢查以確保你在你的編譯源有CCScrollLayer。如果它不存在,添加它: 目標>構建階段>編譯源代碼