2013-05-13 67 views
3

我正在爲Wikitude SDK創建本機庫綁定。鏈接失敗與MonoTouch本機庫綁定

MonoTouch的應用失敗

爲架構的ARMv7未定義符號:
「的std :: __ 1個:: basic_string的,性病:: __ 1 ::分配器> :: find_last_of(字符常量* ,無符號長,無符號長)常量」,從引用:在WikitudeSDK.a(wtunzip.o) WtUnzip :: unzipFileTo(字符常量*,布爾)...

我LinkWith:

[assembly: LinkWith ("WikitudeSDK.a", LinkTarget.ArmV7, Frameworks = "CoreVideo Security SystemConfiguration CoreMedia AVFoundation CFNetwork CoreLocation CoreMotion MediaPlayer OpenGLES QuartzCore CoreGraphics", ForceLoad = true, LinkerFlags = "-lsqlite3.0 -ObjC", IsCxx = true)] 

我不得不承認,我是這個MonoTouch/IOS世界的新手,我試圖讓我的腦袋出水。

我該怎麼做才能讓我的應用程序鏈接?

回答

3

我只是想知道我需要在我的LinkWith中添加libC++。我的新LinkWith看起來像這樣:

[assembly: LinkWith ("WikitudeSDK.a", LinkTarget.ArmV7, Frameworks = "CoreVideo Security SystemConfiguration CoreMedia AVFoundation CFNetwork CoreLocation CoreMotion MediaPlayer OpenGLES QuartzCore CoreGraphics", ForceLoad = true, LinkerFlags = "-lsqlite3.0 -ObjC -lc++", IsCxx = true)] 

希望這可以最終幫助別人。

+0

我還建議在Wikitude文檔頁面上添加-lz(對於libz.dylib)。 – 2013-08-23 00:04:09

0

我正在處理其中連接步驟與失敗的問題「本地連接失敗,未定義的符號:的std :: string :: find_last_of(字符常量*,無符號長,無符號長)......」

事實證明,該應用的iOS部署目標顯然與原始本地庫不匹配。通過匹配這些(通過與同一個綁定庫的工作「消費者」進行比較),我能夠通過錯誤。