0

编译我的项目并链接 Flurry Analytics 库时出现此错误。只有在编译到模拟器时。编译到设备工作正常。

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

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

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

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

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

此致

索伦

4

1 回答 1

0

对于您的主要问题,仅使用--cxx就足够了,不需要 -lgcc_eh - 但您已经自己发现了这一点。有关参考,请参阅http://ios.xamarin.com/Documentation/Linking_Native_Libraries

mscorlib.dll不应从“2.0”目录加载。您的代码中可能有一些东西可以做到这一点(即使是间接的)。一个可能的罪魁祸首是您有一些针对 .NET 2.0(完整框架)而不是针对基于 MonoTouch 2.1 的配置文件编译的程序集。

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

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

于 2011-09-03T13:19:14.960 回答