2010-08-06 38 views
2

嗨,我一直在努力解決這些錯誤一天。爲iPhone設備建設時鏈接錯誤

我使用TouchJSON框架(http://code.google.com/p/touchcode/)爲iphone.Everything編譯罰款在iPhone模擬器,但是當我嘗試在設備上編譯我得到鏈接錯誤。

未定義符號:

"___switch8", referenced from: 
    -[NetworkController constructByteMessage:command:] in NetworkController.o 
    -[CJSONScanner scanJSONObject:error:] in CJSONScanner.o 

"___restore_vfp_d8_d15_regs", referenced from: 
    +[CJSONDataSerializer initialize] in CJSONDataSerializer.o 

"___save_vfp_d8_d15_regs", referenced from: 
    +[CJSONDataSerializer initialize] in CJSONDataSerializer.o 

"___switchu8", referenced from: 
    -[CJSONScanner scanJSONStringConstant:error:] in CJSONScanner.o 

ld: symbol(s) not found 
collect2: ld returned 1 exit status 

NetworkController是一類使用touchJSON方法解析和生成JSON礦。我認爲這是導致大部分鏈接錯誤的touchJSON庫,所以我嘗試了另一個框架json框架,但它仍然導致1錯誤。

我試圖從「調試」更改爲「發佈」,但仍然給出了相同的錯誤。然後我嘗試添加-all_load和-ObjC到鏈接器標誌,但它仍然錯誤。任何幫助或提示將不勝感激。

回答

1

如果您無法解決鏈接器錯誤,則可以嘗試使用json-framework而不是touchJSON。

+0

我試圖使用JSON框架,它給了我一個類似的錯誤。 「___switch32」,引用自: - SBJsonParser.o中的[SBJsonParser scanRestOfString:] – user413385 2010-08-06 20:28:56

0

這看起來像switch語句中的一些很好的小錯誤,它顯然是一個函數/宏/ Objective-C中的任何東西,至少現在在iOS4中。這非常混亂。將-lobjc添加到鏈接器標誌有幫助嗎?

+0

我試着給項目的「其他鏈接器標誌」添加了-lobjc,並且它還存在錯誤。感謝大家的幫助至今。 – user413385 2010-08-07 20:01:10

+1

我發現如果我將編譯器切換到llvm gcc 4.2,那麼它會成功構建。我希望它成功構建gcc 4.2,儘管如此。 – user413385 2010-08-07 20:06:32