Very annoying Linker-module machine type error

Started by
3 comments, last by Paulius Maruska 17 years, 2 months ago
When I compile my program, I get this linker error: libcpmt.lib(locale0.obj) : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86' I have NO IDEA why, I don't remember doing anything involving a module machine type or target machine type. Does anyone know how to fix this? I don't even know if I want x64 or x86...It's a VERY annoying problem b/c I'm trying to make progrss on my game, but I can't do anything until I can compile it. I was able to compile it a couple of weeks ago, but for the past week or two, I get this REALLY ANNOYING linker error. If someone could please help me out, I'd greatly appreciate it. Even if you don't know, but you think you know someone that might know, please refer me to that person b/c I really need to fix this problem. I'm using Visual C++ 2005 Express Edition in case you need to know. Thank you very much. Edit: If it adds another peice to the puzzle, I get the same linker error when I compile ANY of my projects with Visual C++ 2005 Express Edition. I have NO IDEA why, but I can't work on anything with C++ until this error is fixed!!! [Edited by - bballmitch on February 1, 2007 1:31:09 AM]
Mitchen Games
Advertisement
I'm not sure if this will work, but here goes:

Press ALT+F7...
Drag down Configuration Properties -> Linker -> Advanced...
On the right, you'll see an option that says "Target Machines" with some different machine types. x86 and x64 are on the top and bottom, try selecting either of those to see if it will solve your problem.
Quote:Original post by Drunken_Monkey
I'm not sure if this will work, but here goes:

Press ALT+F7...
Drag down Configuration Properties -> Linker -> Advanced...
On the right, you'll see an option that says "Target Machines" with some different machine types. x86 and x64 are on the top and bottom, try selecting either of those to see if it will solve your problem.


I tried that. When I make the Target Machine option x64 I get this Error:

.\Debug\EGsound.obj : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'


When I set it to x86 I get this error:

LIBCMT.lib(typinfo.obj) : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86'

Any other ideas by anyone?

Edit: If it adds another peice to the puzzle, I get the same linker error when I compile ANY of my projects with Visual C++ 2005 Express Edition. I have NO IDEA why, but I can't work on anything with C++ until this error is fixed!!!
Mitchen Games
I think the only solution left for you is to search for some LIB or OBJ files built for the x86 or x64 structure. If you do find some, don't actually overwrite them in your LIB folder.
Express version doesn't have x86 x64 versions of the libs. However, Platform SDK does.

Go to: Project Properties -> Linker -> General, set Show Progress to /VERBOSE:LIB

This will tell you what libraries are being picked by the linker.

This topic is closed to new replies.

Advertisement