468,315 Members | 1,438 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 468,315 developers. It's quick & easy.

Converting from VS.net 2003 to VS.net 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
following:

#ifndef _AFXDLL
#define _AFXDLL
#endif

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.

-Adish
Jul 11 '06 #1
1 7031
Ted
you also need to define

_CRT_SECURE_NO_DEPRECATE
_CRT_NONSTDC_NO_DEPRECATE

See:

http://msdn2.microsoft.com/en-us/library/8ef0s5kh.aspx

Ted.

"Adish Solanki" <Ad**********@discussions.microsoft.comwrote in message
news:16**********************************@microsof t.com...
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
following:

#ifndef _AFXDLL
#define _AFXDLL
#endif

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.

-Adish

Jul 11 '06 #2

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

reply views Thread by Andrew Ducker | last post: by
6 posts views Thread by Dennis D. | last post: by
7 posts views Thread by Coleen | last post: by
reply views Thread by Teichintx | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.