How can I use Farseer with a MonoTouch/ExEn application?

520 views Asked by At

I'm trying to build a game for iOS with XNA and Farseer Physics 3.3, using ExEn and MonoTouch. In theory this should work fine, but I'm having trouble getting Farseer to work on the iPhone.

I compiled Farseer for MonoTouch/ExEn, and it works great in the iPhone Simulator. But as soon as I switch to the actual iPhone, my project no longer compiles. The problem appears to be happening with the MonoDevelop linker. The compiler bombs out with the message "mtouch exited with code 1", and I get the following linker error output: http://pastebin.com/y62ykJP2. If I disable linking in the project options, the application compiles and deploys to the iPhone, but then crashes.

If I comment out all of the code that instantiates objects defined by Farseer, I don't get any linker errors, and the program deploys and runs just fine. So the problem is clearly with my build of Farseer for MonoTouch.

Unfortunately, I have no idea where to go from here. Where should I start looking with a linker error like this? Or, even better: Has anyone successfully compiled Farseer 3.3 and used it with MonoTouch and ExEn?

1

There are 1 answers

3
Rolf Bjarne Kvinge On BEST ANSWER

You're trying to use an assembly compiled for .NET 4.0 in MonoTouch. This will not work (the linker exception you get is because the assembly references a method that does not exist in MonoTouch).

The solution is to compile all assemblies you reference using MonoTouch. Look around to see if anybody already has created a MonoTouch project for Farseer, otherwise you'll have to create one yourself.