我正在尝试使用ExEn和MonoTouch为XNA和Farseer Physics 3.3构建iOS游戏。从理论上讲,这应该可以正常工作,但是我无法让Farseer在iPhone上工作。
我为MonoTouch / ExEn编译了Farseer,它在iPhone模拟器中运行良好。但是一旦切换到实际的iPhone,我的项目就不再编译了。问题似乎发生在MonoDevelop链接器上。编译器弹出消息“mtouch退出代码1”,我得到以下链接器错误输出:http://pastebin.com/y62ykJP2。如果我在项目选项中禁用链接,应用程序将编译并部署到iPhone,但随后崩溃。
如果我注释掉实例化Farseer定义的对象的所有代码,我没有得到任何链接器错误,程序部署并运行得很好。所以问题显然是我为MonoTouch构建的Farseer。
不幸的是,我不知道从哪里开始。我应该从哪里开始查找像这样的链接器错误?或者,甚至更好:有没有人成功编译过Farseer 3.3并将它与MonoTouch和ExEn一起使用?
答案 0 :(得分:2)
您正在尝试在MonoTouch中使用为.NET 4.0编译的程序集。这不起作用(您获得的链接器异常是因为程序集引用了MonoTouch中不存在的方法)。
解决方案是使用MonoTouch编译您引用的所有程序集。环顾四周,看看是否有人已经为Farseer创建了一个MonoTouch项目,否则你必须自己创建一个。