Converting from 2003 to 2005



We have a MFC win32 desktop application written in Visual C++. We were using
Visula studio 2003 as the editor and everything was compiling, linking and
working fine. Since we want to move to .Net world, we are in process of using
Visual Studio 2005 instead of Visual studio 2003. During the conversion
process we have the following two issues:
1. We have included the afx.h before the afxwin.h in our source code files.
When we compile our code, we get the following ewrror message:

fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll
version) requires MFC shared dll version. Please #define _AFXDLL or do not
use /MD[d] c:\program files\microsoft visual studio
8\vc\atlmfc\include\afx.h 24

As a fix we tried to make a seperate header file afxdlldef.h which said the

#ifndef _AFXDLL
#define _AFXDLL

If we include this header file in our source code files, it compiles without
any error. But this approach requires changing every source code file to
include this new header file which we don't wish to do. So we would like to
know if there is some other better approach to resolve this problem

2. MSDN help says that defining _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES as 1
will eliminate the warning by changing the strcpy call to strcpy_s. But when
we tried using this, we still get warnings for strcpy.


Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question