将失败与MonoTouch本机库绑定链接

时间:2013-05-13 02:06:07

标签: binding linker xamarin.ios

我正在为Wikitude SDK创建本机库绑定。

MonoTouch应用无法关联

  

架构armv7的未定义符号:
    “std :: __ 1 :: basic_string,std :: __ 1 :: allocator> :: find_last_of(char const *,unsigned long,unsigned long)const”,引自:         WikitudeSDK.a中的WtUnzip :: unzipFileTo(char const *,bool)(wtunzip.o)   ...

我的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世界的新手,我试图让我的脑袋脱离水中。

我该怎么做才能让我的应用程序链接?

2 个答案:

答案 0 :(得分: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)]

希望最终可以帮助他人。

答案 1 :(得分:0)

我正在处理链接步骤失败的问题" Native链接失败,未定义的符号:std :: string :: find_last_of(char const *,unsigned long,unsigned long)...&# 34;

事实证明,该应用的iOS部署目标显然与原始本机库不匹配。通过匹配这些(通过与同一个绑定库的工作"消费者和#34;进行比较),我能够克服错误。