How to get MFC libraries for Visual C++ Express 2005

hi,

I have a software package which works well during VC6. Now I tried to compile it in VC++ 2005 Express.  Most of projects in the package are  no problem. But there is only one project which is a GUI application (using MFC) always got some problems.

At first, it missed some lib files. So I copy some lib files from VC6 directory to current lib directory. Then I got the following error. Anyone can give me some ideas  

Linking...
show.obj : error LNK2019: unresolved external symbol "public: int__thiscall CWnd::KillTimer(unsigned int)" (KillTimer@CWnd@@QAEHI@Z) referenced in function "public: void __thiscall CshowApp::close_file(void)" ( close_file@CshowApp@@QAEXXZ) ..\..\..\bin\show.exe : fatal error LNK1120: 1 unresolved externals

many thinks

michael




Answer this question

How to get MFC libraries for Visual C++ Express 2005

  • orourksj

    To get access to MFC etc under the new Visual C++ Express 2005, you need to install the Windows Platform SDK after the C++ installation.

    Please follow the installation instructions carefully otherwise you are out of luck



  • Melinda_MSFT

    Can anyone send me their LIBs I can't seem to get the DEF files to work.

    charanga dot geo at yahoo dot ca

    Thanks SO much! I just need to rebuild a VC++6 app.

    W





  • George Birbilis

    thanks for your quick reply.

    Then where are can I find the lib files of VC++2005 for example, MFCO42D.LIB, MFC42D.LIB, MFCS42D.LIB and so on.

    regards

    I will build a tent here from now on ;-)



  • Yassir Zoheiri

    You might consider going back to the VC6 MFC strategy: use both VC6 headers and libs. In theory it is supposed to work (static lib dependencies are supposed to be backward compat.) Just two things: 1. provide your own definition of CWnd::KillTimer by copying from MFC sources. 2. Use /Zc:wchar_t- so that the compiler does not use the standard definition of wchar_t (it is typedef'd instead). If you don't do this, then you may get additional link errors.

    Brian


  • farang

    Well, i'm not entirely sure about what's in the Platform SDK.  I use VS 2005 Professional so I haven't downloaded it recently.  I'll mark this thread as unanswered and maybe someone can help you find those MFC libraries.  I'll also retitle it and put it in the Express forum, where you're more likely get an answer.

    I just noticed this thread that you should read: http://forums.microsoft.com/MSDN/ShowPost.aspx PostID=419748&SiteID=1.

    For what I consider "dated technology" it's too bad that Microsoft can't give you MFC 8.0 for free.

    Brian

     


  • Devin G

    I checked the installation of VC++2005 express and platform SDK again. I also searched the web.

    My conclusion: Platform SDK just provides the documentation, samples, header files, libraries, and tools you need to develop applications that run on Windows.  For a complete MFC library , you have to use an enhanced VC++2005 edition.

    Btw, I just need three lib files to test my software package( MFCO42D.LIB, MFC42D.LIB, MFCS42D.LIB in VC6,  probably MFCO80D.LIB, MFC80D.LIB, MFCS80D.LIB in VC++2005). Is it possible that somebody send them to me by email thanks a lot



  • Kessica

    Don't try to mix the libraries that are shipped with VC6 and VC8. I would remove the VC6 libs and attack the problem in a different way. You are welcome to post what your original issue was here.

    Brian


  • AlHenCoon

    Sorry, should have mentioned that MFC42*.* are the libraries for VC6.  The corresponding MFC libraries for VC8 carry a different version number.

    C:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\lib>dir mfc*80*
     Volume in drive C has no label.
     Volume Serial Number is 600A-E44E

     Directory of C:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\lib

    09/23/2005  12:58 AM         2,623,050 mfc80.lib
    09/23/2005  12:58 AM         3,414,806 mfc80d.lib
    09/23/2005  12:58 AM         3,429,192 mfc80u.lib
    09/23/2005  12:58 AM         4,401,158 mfc80ud.lib
    09/23/2005  12:59 AM            39,112 mfcm80.lib
    09/23/2005  12:59 AM            42,636 mfcm80d.lib
    09/23/2005  12:59 AM            40,436 mfcm80u.lib
    09/23/2005  12:59 AM            43,970 mfcm80ud.lib
    09/23/2005  06:56 AM             7,168 mfcmifc80.dll
    09/23/2005  12:58 AM           793,834 mfcs80.lib
    09/23/2005  12:58 AM         2,322,432 mfcs80.pdb
    09/23/2005  12:58 AM           843,602 mfcs80d.lib
    09/23/2005  12:58 AM         2,314,240 mfcs80d.pdb
    09/23/2005  12:58 AM           657,422 mfcs80u.lib
    09/23/2005  12:58 AM         2,322,432 mfcs80u.pdb
    09/23/2005  12:58 AM           688,434 mfcs80ud.lib
    09/23/2005  12:58 AM         2,322,432 mfcs80ud.pdb

    Brian

     


  • jwilliams

    Actually, i already download and installed the Platform SDK from

    http://www.microsoft.com/downloads/details.aspx familyid=E15438AC-60BE-41BD-AA14-7F1E0F19CA0D&displaylang=en

    But I couldn't find all those lib files mentioned above



  • JuanCG

    VC Express doesn't come with the Platform SDK, to reduce download overhead. You will need to do so yourself from here.


  • Bob2unlimited

    sorry to disturb you again.

    I searched my pc. I couldn't find the lib files you metioned. Is it necessary to install VC++2005 std editon for getting those lib files

    My current environment is : VC2005 exprss + platform SDK

    thanks



  • How to get MFC libraries for Visual C++ Express 2005