Question

I had a windows mobile application running for ARMV4 (Pocket PC 2003)

We got a new device XXXCE6 (ARMV4I), we need to compile the application for it, we followed these steps:

  1. install the Device SDK
  2. Build-> configurartion manager choose NEW from active solution platform
  3. for New Solutin platform we have chosen XXXCE6 (ARMV4I) , and for copy settings we have chosen Pocket PC 2003 , and check create new projects platform and then Clean solutions Rebuild Solution I got this error:

coredll.lib(COREDLL.dll) : fatal error LNK1112: module machine type 'THUMB' conflicts with target machine type 'ARM'

Any IDEA?

Thanks

Was it helpful?

Solution

Adding a new configuration never works - it's something the tools team I think never actually tried. It didn't work in eVC 3.0 or 4.0 and still doesn't in Studio.

Create a new project using the app wizard, selecting your SDK. When you are done, just use "Add Existing" to add all of your code in.

BTW, your app can probably run using the old project and binaries anyway. ARMv4i will run ARMv4 binaries without any problem. The only potential issue is that if you're moving from a Pocket PC to a generic CE device. If the app used any Pocket PC specific APIs, those call will fail under CE.

OTHER TIPS

  1. Right click on the project which is giving this error.

  2. Goto Project properties -> Linker -> Command Line

  3. change MACHINE:ARM to MACHINE:THUMB

reference

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top