Asked for VC 7.1 libraries when compiling a project in VC 8

Hi folks:

I encountered a problem when I was compiling a VC++ 8 project convered from .NET 2003 in Visual Studio 2005. When the process came down to link stage, the VS 2005 IDE asked for some version 7 VS libraries such as "mfc71.lib", "mfcs71.lib", "libc.lib", etc, which are not included in VS 2005. Could anybody provide any hints for cracking this problem.

Thanks a lot in advance.

Jason



Answer this question

Asked for VC 7.1 libraries when compiling a project in VC 8

  • Dr.Pepper

    You'll have to link to one or more of the Leda libraries. Project + properties, Linker, Input, Additional dependencies = WhateverLedaLibrary.lib


  • edward1028

    Yeah, that's an ugly fix. What were the unresolved external symbols


  • flerida

    Did you mean that the problem can't resolved by simplely setting some compilation/link options in the IDE without recompiling the old library using VS 2005

    Thanks,

    Jason


  • jim rozak

    Yes you're right Ayman. My base project is built as a Win32 application with "Use of MFC in a Shared DLL" option. Its runtime library option is thus selected as "Multi-threaded DLL(MD)". The compilation options of some of the referred libraries were not compliantly set with the base project at first, resulting in the errors I posted. I changed the compilation/link settings of the component libraries into the same (except for the Configration Type option. They must be set according to the projects' natures) as the base project, and now the compilation has gone through!

    Thanks for your help!

    Jason


  • dcaton

    Also, check if you are not linking against old librariries that you have built using the VC7.1 tools.

    Thanks,
    Ayman Shoukry
    VC++ Team


  • rod_r

    What you did now is an unsupported scenario and may cause what you are seeing as you migh be using the new compiler tools but older libraries.

    Thanks,
    Ayman Shoukry
    VC++ Team


  • donkaiser

    Hi:

         I'm having the same issue (linker complains it cannot find mfc71.lib on a project converted from VS 2003). I want to tell the linker to use mfc80.lib instead. I've tried to indirectly to do so, by going to the project settings and re-setting (back and froth) for "use MFC in a shared DLL". But somehow VS 2005 "remembers" the the project originally linked to the mfc71.lib.

    How can this be done in a clean fashion Or should I hack the project's XML and somehow remove the UpgradeFromVC71.vsprops section from it.

    I'm assuming that mfc80 is backwards compatible to mfc71, please confirm.

    Thanks

    GR  

     


  • rtaiss

    If you rebuild any library then it should work.

    Thanks,
    Ayman Shoukry
    VC++ Team


  • Jason.J.Huang

    I re-installed VS .NET 2003 and lead the VS 2005 IDE to the C++ .NET 2003 directories where the requested libraries are located. That resolved the problem, although apprearingly not in a "professional" way. However, a new problem came along the linking process: LNK2001 errors came up associated with some "unsolved external symbols", which are functions in a third-party library that was linked OK with the VS .NET 2003 IDE. Do you happen to know what might cause the errors Thanks very much.

    Jason


  • erikkl2000

    As you might have seen from the message of Ayman Shoukry of MS VC++ Team, that is unfortunately an unsupported scenario by VS 2005. The worse, I don't have any source code of the library to recompile. Actually, it would not quarantee the recompilation is going to work, as I have failed with the recompilation of aother library.
  • Stu_R

    Yes, in some cases the only solution if you want to use older libraries with new compiler tools is to rebuild these old libraries. Of course, sometimes it could just work but is not a supported scenario.

    Thanks,
    Ayman Shoukry
    VC++ Team


  • Rajesh Kumar J

    The symbol is "private: virtual void __thiscall graph_map::read_entry(class std::basic_istream<char,struct std::char_traits<char> > &,void * &)" ( read_entry@graph_map@@EAEXAAV $basic_istream@DU $char_traits@D@std@@@std@@AAPAX@Z). It is related to a Leda 4.1 package.
  • kholling

    Check if the project explicity asked for those libraries. Projects + properties, Linker, Input, Additional Dependencies.


  • Donnie H

    Yes. I did excatly the way you told. The real problem is that the errors cames up regardless the efforts were made.
  • Asked for VC 7.1 libraries when compiling a project in VC 8