baigmz
asked on
Errors when moving from VC5.0 to VC6.0...
Hi,
I have a many code modules, which use a their own makefiles with inter-dependencies to build a few libs/dlls etc. This used to work fine with VC5.0. But now I would like it to build under VC6.0. During the build under 6.0 SP3, the following errors are generated from most of the .cpp files:
c:\vc98\vc98\mfc\include\a fxdlgs.inl (104) : error C2065: 'PSH_WIZARD97' : undeclared identifier
c:\vc98\vc98\mfc\include\a fxext.h (526) : error C2065: 'RBBS_GRIPPERALWAYS' : undeclared identifier
Any idea why it's displaying these error and failing the build? WHat should I do to make it build under VC6.0 successfully?
Thanks in advance!
I have a many code modules, which use a their own makefiles with inter-dependencies to build a few libs/dlls etc. This used to work fine with VC5.0. But now I would like it to build under VC6.0. During the build under 6.0 SP3, the following errors are generated from most of the .cpp files:
c:\vc98\vc98\mfc\include\a
c:\vc98\vc98\mfc\include\a
Any idea why it's displaying these error and failing the build? WHat should I do to make it build under VC6.0 successfully?
Thanks in advance!
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks for your response.
I have a few questions based on your answer:
Do I need to use the directive you've indicated even if my code doesn't involve any kind of IE functionality?
About 80% of my code is raw C++ and C with rest of it being MFC. Is there any side effect to this change (eg. increase in binary file size, end-user requirements etc.)?
Thanks again.
I have a few questions based on your answer:
Do I need to use the directive you've indicated even if my code doesn't involve any kind of IE functionality?
About 80% of my code is raw C++ and C with rest of it being MFC. Is there any side effect to this change (eg. increase in binary file size, end-user requirements etc.)?
Thanks again.
ASKER
One more question:
I tried out the _WIN32_IE macro.
I get back a warning during the build, which says:
..\stdafx.h(6) : warning C4005: '_WIN32_IE' : macro redefinition
Is this warning ignorable or is it recommended to include it's definition file (.h)?
I tried out the _WIN32_IE macro.
I get back a warning during the build, which says:
..\stdafx.h(6) : warning C4005: '_WIN32_IE' : macro redefinition
Is this warning ignorable or is it recommended to include it's definition file (.h)?
ASKER
One more question:
I tried out the _WIN32_IE macro.
I get back a warning during the build, which says:
..\stdafx.h(6) : warning C4005: '_WIN32_IE' : macro redefinition
Is this warning ignorable or is it recommended to include it's definition file (.h)?
I tried out the _WIN32_IE macro.
I get back a warning during the build, which says:
..\stdafx.h(6) : warning C4005: '_WIN32_IE' : macro redefinition
Is this warning ignorable or is it recommended to include it's definition file (.h)?
ASKER
One more question:
I tried out the _WIN32_IE macro.
I get back a warning during the build, which says:
..\stdafx.h(6) : warning C4005: '_WIN32_IE' : macro redefinition
Is this warning ignorable or is it recommended to include it's definition file (.h)?
I tried out the _WIN32_IE macro.
I get back a warning during the build, which says:
..\stdafx.h(6) : warning C4005: '_WIN32_IE' : macro redefinition
Is this warning ignorable or is it recommended to include it's definition file (.h)?
> ..\stdafx.h(6) : warning C4005: '_WIN32_IE' : macro redefinition
> Is this warning ignorable or is it recommended to include it's > definition file (.h)?
That probably means you didn't follow my instructions. You should put this definition ahead of any other #include directives. It's got to be nearly the first thing the compiler sees. Either you're including other stuff before you include STDAFX.H, or you've got a /D option on the compiler command line that's setting the same symbol.
> Do I need to use the directive you've indicated even if
> my code doesn't involve any kind of IE functionality?
But, it does! The symbols you're using are offered by system DLLs updated when current versions of IE are installed.
> , end-user requirements etc.)?
Since you're already using those styles, you had those requirements before adding this explicit declaration.
..B ekiM
> Is this warning ignorable or is it recommended to include it's > definition file (.h)?
That probably means you didn't follow my instructions. You should put this definition ahead of any other #include directives. It's got to be nearly the first thing the compiler sees. Either you're including other stuff before you include STDAFX.H, or you've got a /D option on the compiler command line that's setting the same symbol.
> Do I need to use the directive you've indicated even if
> my code doesn't involve any kind of IE functionality?
But, it does! The symbols you're using are offered by system DLLs updated when current versions of IE are installed.
> , end-user requirements etc.)?
Since you're already using those styles, you had those requirements before adding this explicit declaration.
..B ekiM
ASKER
I have a few questions based on your answer:
Do I need to use the directive you've indicated even if my code doesn't involve any kind of IE functionality?
About 80% of my code is raw C++ and C with rest of it being MFC. Is there any side effect to this change (eg. increase in binary file size, end-user requirements etc.)?
Thanks again.