Author Topic: POLINK: fatal error: Invalid machine type in object 'SDL.dll  (Read 3294 times)


  • Guest
POLINK: fatal error: Invalid machine type in object 'SDL.dll
« on: October 04, 2010, 09:23:47 pm »
I have been searching far and wide for a way to build WinCe programs based on SDL.

At the moment I am trying Pelles C and MYSDL at

My test program compiles and the link seems to find all the symbols in the SDL.lib file but then it fails with the error in the title.

1) why is Pelles C looking for SDL.DLL. That should not be needed until I execute my program on my IPAQ
2) where is Pelles C finding the SDL.DLL file in the error message. I probably have a ton of them lying around on my laptop (some not ARM)
3) MYSDL supplies the (hopefully correct) DLLs but I have no idea in what folder to put them on my laptop in order to fix the error



  • Guest
Re: POLINK: fatal error: Invalid machine type in object 'SDL.dll
« Reply #1 on: October 04, 2010, 09:50:37 pm »
sorry, it looks like I have the same issue as someone else. Podump sez my lib file (and hence DLL) might include Thumb instructions.

l\lib>podump /headers SDL.dll
Dump of SDL.dll
File type: DLL
     1C2 machine (Thumb)
       5 number of sections
4A0135CE time date stamp (Wed May  6 09:01:34 2009)
       0 offset to symbol table
       0 number of symbols
      E0 size of optional header
    2102 characteristics:
           File is executable
           32 bit word machine
           File is dynamic link library
     10B magic # (PE32)
    9.00 linker version
   2EA00 size of code
    B000 size of initialized data
       0 size of uninitialized data

I will try hacking my .lib file in the hope that there are actually no Thumb instructions present in the DLL as suggested in the other post.

I dont quite understand how to that. Do I need to change the value from IC2 to IC0 in the file using an editor? Or do I need to regenerate the Lib file from the Dll using

polib.exe /machine:arm SDL.dll -out:SDL.lib