Missing mfc42d.lib - 32 bit version

I'm trying to compile a VisStudio 6 C++ program under the express version and get this error:

mfc42d.lib(MFC42D.DLL) : fatal error LNK1112: module machine type 'IA64' conflicts with target machine type 'X86'

I've installed the Win2003 server SDK SP1 per instructions found somewhere and apparently the library isn't part of it. I've checked the 2 versions of the library that the SDK installed and both are 64 bit versions. Where can I get the missing library (and others that will show up missing)

 

Thanks

Zoltan



Answer this question

Missing mfc42d.lib - 32 bit version

  • SteelX

    What do you mean by sku

    I am getting the same error both in VC 2005 Express and Visual Toolkit 2003. The IA64 and AMD64 versions of the library are there but the x86 version is not. Any way around the problem


  • Helder Rodrigues

    The Express sku doesn't include the MFC binaries. You have to install a higher SKU.

    Thanks,
    Ayman Shoukry
    VC++ Team


  • UncleB

    SKU is short for "stock keeping unit".  It's Microsoft's way of keeping track of the different products on the market.    So "higher SKU" means Standard edition or higher.  So any paid version of Visual Studio.    i.e. Visual C++ Express does not include the MFC library. 

    The Platform SDK includes 64 bit development libraries such as the runtime and MFC as it is not currently sold as a product. 

    There is a way around this problem but it's very complicated and not supported officially.  Since the MFC source code is provided with the Microsoft Platform SDK, you can build it using Visual C++ 2005 Express to create your own MFC libraries.  It is complicated because the MFC source code provided with the Platform SDK does not compile cleanly without modifications. 


  • rinku

    All it means is you have to purchase a higher version than Express (e.g. Standard, Professional, or one of the Team editions)


  • Russ V.

    Hou do i install a higher SKU
  • Missing mfc42d.lib - 32 bit version