Mr. Kaar (of mSports fame) and yours truly spent quite a few minutes of our lives scratching our heads recently – the Setup.dll contained in one of our projects kept failing with the error message found in the title of this post.

Fortunately, the solution is easy. Open the linker preferences via right clicking on the affected project, then click command line and change the displayed values to /subsystem:windowsce,** (the ** are the numbers which are already there, just remove the appendix).

The image below shows a Windows Mobile 5.0 project (sorry for German IDE):
 Fatal error LNK1112: module machine type THUMB conflicts with target machine type ARM

Then, do a clean recompile, and the “Fatal error LNK1112: module machine type ‘THUMB’ conflicts with target machine type ‘ARM’” eekers should be over.

P.S. For all those of you interested: ARM processors support two different instruction sets going by the names ARM and THUMB. ARM is 32 bit wide, while THUMB provides optimal performance on machines with a 16bit data bus.


Related posts:

  1. The Proporta Alu-Leather Case – Book Type for HP ipaq 4240
  2. Verizon unlocks Touch Pro’s GPS module
  3. Windows Phone 7 is an “advertising machine”, starts up in October
  4. Vito ZoomBoard – the review
  5. Annual WM shipping target missed

One Response to “Fatal error LNK1112: module machine type ‘THUMB’ conflicts with target machine type ‘ARM’”

  1. Great. Thank you very much. I’ve met the same problem when migrated from SDK Windows Mobile 2005 to SDK WM-6. I waisted a week before I’ve found your post among a lot of wrong advises. It was very nice that you’ve given image: clear from first glance.

Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Subscribe without commenting

© 2012 TamsPPC - the Windows Phone Blog Suffusion theme by Sayontan Sinha