2012-11-30 38 views
3

我有一個錯誤,而建設脂肪二進制文件:MonoTouch的結合ObjC庫

ld: symbol(s) not found for architecture i386 (or arm7 for device) 
collect2: ld returned 1 exit status 

error MT5202: Native linking failed. Please review the build log. 

即使我把只有一個ApiDefinition defenition(AWView)。包括所有依賴項。

儘管在xcode中一切正常。

這裏是鏈接github

P.S. 「xcrun -sdk的iPhoneOS脂-info /...../libAdWired.a」 告訴

架構FAT文件:libAdWired.a是:I386的ARMv6 ARMv7的

回答

1

嘗試編譯爲一個將針對armv7架構的實際設備....您的objc庫沒有在其中編譯i386架構,可能只是armv7。你可以看到它的架構是在它通過將終端和使用命令編譯:

file libSomeLibrary.a 

這會告訴你在編譯庫中的所有架構。 所以,只需選擇調試 - > iPhone而不是iPhone模擬器,你不應該得到相同的錯誤...

+0

你可以,另外,請確保您在庫的構建目標的i386爲好,如果你有機會這麼做。 – Redth

+0

胖文件中的體系結構:libAdWired.a是:i386 armv6 armv7 –

3

我不得不釋放我的頭腦,我喜歡/享受做MonoTouch綁定,所以請給這個試試

https://github.com/dalexsoto/AlexTouch.AdWired

希望這有助於

亞歷

+0

作爲一個方面說明,這個庫是有點老,所以你應該小心,如果你將與iOS 6一起使用它,而不贊成使用'UUID' 'iOS 6廣告標識符(IDFA)'。所以我建議直接用AdWired檢查 – dalexsoto