Re: Issues with Porting VS6.0 MFC Projects to VS8.0 - Need Help



Thank you for looking into this.

This is what i have set in the Tools Option category.

<ToolsOptionsSubCategory name="VCDirectories"
RegisteredName="VCDirectories" PackageName="Visual C++ Project System
Package">
<PropertyValue
name="LibraryDirectories">Win32|$(VCInstallDir)lib;$(VCInstallDir)atlmfc\lib;$(VCInstallDir)atlmfc\lib\i386;$(VCInstallDir)PlatformSDK\lib;$(FrameworkSDKDir)lib;$(VSInstallDir);$(VSInstallDir)lib|x64|$(VCInstallDir)lib\amd64;$(VCInstallDir)atlmfc\lib\amd64;$(VCInstallDir)PlatformSDK\lib\amd64;$(VSInstallDir)SDK\v2.0\lib\amd64|Pocket
PC 2003
(ARMV4)|$(VSInstallDir)SmartDevices\SDK\PocketPC2003\lib\ARMV4;$(VCInstallDir)ce\atlmfc\lib\ARMV4;$(VCInstallDir)ce\lib\ARMV4;|Smartphone
2003
(ARMV4)|$(VSInstallDir)SmartDevices\SDK\SmartPhone2003\lib\ARMV4;$(VCInstallDir)ce\atlmfc\lib\ARMV4;$(VCInstallDir)ce\lib\ARMV4;</PropertyValue>
<PropertyValue
name="ReferenceDirectories">Win32|$(FrameworkDir)$(FrameworkVersion);$(VCInstallDir)atlmfc\lib|x64|$(FrameworkDir)$(FrameworkVersion);$(VCInstallDir)atlmfc\lib\amd64|Pocket PC 2003 (ARMV4)||Smartphone 2003 (ARMV4)|</PropertyValue>
<PropertyValue
name="ExcludeDirectories">Win32|$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(VCInstallDir)PlatformSDK\include;$(FrameworkSDKDir)include;$(FrameworkDir)$(FrameworkVersion);$(VCInstallDir)atlmfc\lib|x64|$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(VCInstallDir)PlatformSDK\include;$(FrameworkSDKDir)include;$(FrameworkDir)$(FrameworkVersion);$(VCInstallDir)atlmfc\lib\amd64|Pocket
PC 2003
(ARMV4)|$(VCInstallDir)ce\include;$(VSInstallDir)SmartDevices\SDK\PocketPC2003\include;$(VCInstallDir)ce\atlmfc\include;$(VSInstallDir)SmartDevices\SDK\SQL
Server\Mobile\v3.0;;|Smartphone 2003
(ARMV4)|$(VCInstallDir)ce\include;$(VSInstallDir)SmartDevices\SDK\SmartPhone2003\include;$(VCInstallDir)ce\atlmfc\include;$(VSInstallDir)SmartDevices\SDK\SQL Server\Mobile\v3.0;;</PropertyValue>
<PropertyValue
name="IncludeDirectories">Win32|C:\Development\projects\Zipl_src;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(VCInstallDir)PlatformSDK\include;$(FrameworkSDKDir)include|x64|$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(VCInstallDir)PlatformSDK\include;$(FrameworkSDKDir)include|Pocket
PC 2003
(ARMV4)|$(VCInstallDir)ce\include;$(VSInstallDir)SmartDevices\SDK\PocketPC2003\include;$(VCInstallDir)ce\atlmfc\include;$(VSInstallDir)SmartDevices\SDK\SQL
Server\Mobile\v3.0;|Smartphone 2003
(ARMV4)|$(VCInstallDir)ce\include;$(VSInstallDir)SmartDevices\SDK\SmartPhone2003\include;$(VCInstallDir)ce\atlmfc\include;$(VSInstallDir)SmartDevices\SDK\SQL Server\Mobile\v3.0;</PropertyValue>
<PropertyValue
name="SourceDirectories">Win32|$(VCInstallDir)atlmfc\src\mfc;$(VCInstallDir)atlmfc\src\mfcm;$(VCInstallDir)atlmfc\src\atl;$(VCInstallDir)crt\src|x64|$(VCInstallDir)atlmfc\src\mfc;$(VCInstallDir)atlmfc\src\mfcm;$(VCInstallDir)atlmfc\src\atl;$(VCInstallDir)crt\src|Pocket
PC 2003
(ARMV4)|$(VCInstallDir)ce\atlmfc\src\atl\;$(VCInstallDir)ce\atlmfc\src\mfc\;$(VCInstallDir)ce\crt\src\|Smartphone
2003
(ARMV4)|$(VCInstallDir)ce\atlmfc\src\atl\;$(VCInstallDir)ce\atlmfc\src\mfc\;$(VCInstallDir)ce\crt\src\</PropertyValue>
<PropertyValue
name="ExecutableDirectories">Win32|$(VCInstallDir)bin;$(VCInstallDir)PlatformSDK\bin;$(VSInstallDir)Common7\Tools\bin;$(VSInstallDir)Common7\tools;$(VSInstallDir)Common7\ide;$(ProgramFiles)\HTML
Help
Workshop;$(FrameworkSDKDir)bin;$(FrameworkDir)$(FrameworkVersion);$(VSInstallDir);$(VSInstallDir)\SDK\v2.0\bin;$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH)|x64|$(VCInstallDir)bin\x86_amd64;$(VCInstallDir)bin;$(VCInstallDir)PlatformSDK\bin;$(VSInstallDir)Common7\Tools\bin;$(VSInstallDir)Common7\tools;$(VSInstallDir)Common7\ide;$(ProgramFiles)\HTML
Help
Workshop;$(FrameworkSDKDir)bin;$(FrameworkSDKDir)lib\win64;$(FrameworkDir)$(FrameworkVersion);$(FxCopDir);$(PATH)|Pocket
PC 2003
(ARMV4)|$(VCInstallDir)ce\bin\x86_arm;$(VCInstallDir)bin;$(VCInstallDir)PlatformSDK\bin;$(VSInstallDir)Common7\Tools;$(VSInstallDir)Common7\IDE;$(VSInstallDir)Common\Tools;$(VSInstallDir)Common\IDE;$(VSInstallDir);$(FrameworkSDKDir)Bin;$(PATH);|Smartphone
2003
(ARMV4)|$(VCInstallDir)ce\bin\x86_arm;$(VCInstallDir)bin;$(VCInstallDir)PlatformSDK\bin;$(VSInstallDir)Common7\Tools;$(VSInstallDir)Common7\IDE;$(VSInstallDir)Common\Tools;$(VSInstallDir)Common\IDE;$(VSInstallDir);$(FrameworkSDKDir)Bin;$(PATH);</PropertyValue>
</ToolsOptionsSubCategory>

and i did set an env variable VCInstallDir to the correct path(which i am
hoping would override whatever studio has)

C:\Documents and Settings\User>set VCInstalldir
VCInstallDir=C:\Program Files\Microsoft Visual Studio 8

Am I missing something.

Also want to metion that i do have 2 third party math libraries(*.lib) that
are not built using VS2005. But they do link fine using VS2003 and VS6.00.
Not sure if this should have any effect.

Regards
Bk


"Carl Daniel [VC++ MVP]" wrote:

"BK-Chicago" <BKChicago@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:895803B7-C2C0-477C-AADF-B6CDE1214A29@xxxxxxxxxxxxxxxx
I am in the midst of porting a massive MFC application from VS6.0 to VS8.0.
While i have fixed most of the compile time errors, i do have quite a
linker
error that i have not been able to resolve. The error i get is

Error 100 error LNK2001: unresolved external symbol "public: virtual void
__thiscall CWnd::PostNcDestroy(void)"
(?PostNcDestroy@CWnd@@UAEXXZ) Evenout.obj

I have about 200 of these on almost all the obj's that have a dialog in
them(which is understandable). But i do see that the delcaration of
CWnd::PostNcDestory( ) in the systems afxwin.h header which is public:

// for custom cleanup after WM_NCDESTROY
public:
virtual void PostNcDestroy();

Do i need to refer to any particular version of SDK/ *.lib or am i
missing
something. Any help here would be appreciated.

Make sure that you're not still linking against the VC6 version of MFC.
Check the project settings and the Tools|Options|Projects and Solutions|C++
Directories to make sure that the VS2005 directories are the only ones on
the library search path.

-cd



.



Relevant Pages

  • Re: Issues with Porting VS6.0 MFC Projects to VS8.0 - Need Help
    ... The following actions were taken to resolve the issue: ... Visual Studio .NET2003 was uninstalled ... Am I missing something. ... Error 100 error LNK2001: unresolved external symbol "public: virtual void ...
    (microsoft.public.dotnet.languages.vc)
  • memory leak detection
    ... identifier not found, even with argument-dependent lookup ... missing ';' before identifier 'm_abFixedBuffer' ... Node::BYTE': missing storage-class or type specifiers ...
    (microsoft.public.vc.atl)
  • Re: WTL and winbase.h
    ... Upon compiling, however, I'm met with nearly ... missing ';' before identifier 'Internal' ... I've already tried downloading a fresh ...
    (microsoft.public.vc.language)
  • WTL and winbase.h
    ... Upon compiling, however, I'm met with nearly 200 errors, ... missing ';' before identifier 'Internal' ... I've already tried downloading a fresh SDK and point ...
    (microsoft.public.vc.language)
  • Re: ON_MESSAGE Compiler Error in VS 7
    ... >I recently started working on Visual Studio 7 and I was trying to learn ... >And I added the handler for it in .h file ... >LRESULT CSampleDlgDlg::OnUserTestMsg(WPARAM wParam, LPARAM lParam) ... >missing '}' before ';' ...
    (microsoft.public.vc.mfc)