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):
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:




