2

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

Bart
  • 4,830
  • 16
  • 48
  • 68

2 Answers2

3

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.

ctacke
  • 66,480
  • 18
  • 94
  • 155
  • 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.=> that's what is happening.. the application runs but serial port couldnt be opened – Bart Jul 25 '10 at 22:43
  • Serial ports are *NOT* Pocket PC specific calls. They work the exact same way in both platforms. If it's failing it's eitehr becasuer there's a code bug in your app, the port info changed between devices or the port driver on the new platform isn't working. – ctacke Jul 26 '10 at 14:36
2
  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

Bob
  • 22,810
  • 38
  • 143
  • 225
  • That worked for me but even better is to just delete the /machine: switch and use the SDK default. – Rick Jan 07 '22 at 16:23