从项目编译到模拟器时获取从xxxx引用的“__Unwind_Resume”

时间:2011-08-31 09:11:16

标签: iphone c++ mono xamarin.ios flurry

编译项目和链接Flurry Analytics库时出现此错误。在编译到模拟器时Ony。编译到设备工作正常。

错误是: 未定义的符号:   “__Unwind_Resume”,引自:       + [FlurryAPI setAppVersion:]在libFlurry.a(FlurryAPI.o)

我发现有人说解决方案是在我的构建参数中添加“-cxx -lgcc_eh”,这也会使错误消失。然而,我得到了:

未找到或无法加载程序集mscorlib.dll。 它应该已经安装在`/Developer/MonoTouch/Build/simulator/lib/mono/2.0/mscorlib.dll'目录中。

尝试在模拟器中运行或调试应用程序时。

我希望有人可以提供帮助,因为如果我能够在模拟器中进行测试而不是每次都在设备上进行测试,那么可以节省很多时间。

祝你好运

索伦

1 个答案:

答案 0 :(得分:0)

对于您的主要问题,仅使用 - cxx 就足够了,不应该要求 -lgcc_eh - 但您已经自己找到了。有关参考资料,请参阅http://ios.xamarin.com/Documentation/Linking_Native_Libraries

不应从'2.0'目录加载

mscorlib.dll 。您的代码中可能存在某些内容(即使是间接的)。一个可能的罪魁祸首是你有一些针对.NET 2.0(完整框架)而不是基于MonoTouch 2.1的配置文件编译的程序集。

尝试逐个删除项目中的程序集引用并重新构建它(您需要调整代码才能执行此操作)。对所有二进制程序集(您不是从解决方案中的源重建的程序集)执行此操作,而不是由MonoTouch(即BCL)提供。

找到“坏”程序集后,将其替换为您自己构建的程序集(根据MonoTouch提供的程序集编译)。