www.digitalmars.com         C & C++   DMDScript  

c++.mfc - Problems porting from MS VC6 to DMC (in Eclipse)

reply Andy C <Andy_member pathlink.com> writes:
Not sure best place to post this.  I am trying out a DMC plugin for Eclipse and
trying to port MS VC6 code in the process.  I have encountered the following 3
problems (so far).  I would appreciate any insight anyone can offer...

1)
This seems new. It used to crop up if you did not use the -Aa option to allow
overloading new[] and delete[].  Now when I compile in Debug (but not Release) I
get the following error:
Error: no match for function '?_P(unsigned ,char *,int )'

This seems related to the section of code at the top of each source file that
reads:

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

2)
This code is OK in VC++ v6.0: 
CString sTemp;
sTemp = "Hi Walter";
TRACE("The message is " + sTemp + "\n");

but in DMC, with Exception Handling enabled, the compiler dies with this
message:
Internal error: eh 759

This code works fine in DMC:
CString sTemp;
sTemp = "Hi Walter";
TRACE("The message is %s\n",sTemp);


3)
I know that the include paths are correct so this one was quite unexpected.  I
could not compile oleauto.h until I added this define above it.

#define EXTERN_C extern


Thanks
Andy C
Feb 22 2006
parent Andy C <Andy_member pathlink.com> writes:
In article <dtj1ue$kjm$1 digitaldaemon.com>, Andy C says...
Not sure best place to post this.  I am trying out a DMC plugin for Eclipse and
trying to port MS VC6 code in the process.  I have encountered the following 3
problems (so far).  I would appreciate any insight anyone can offer...

1)
This seems new. It used to crop up if you did not use the -Aa option to allow
overloading new[] and delete[].  Now when I compile in Debug (but not Release) I
get the following error:
Error: no match for function '?_P(unsigned ,char *,int )'

This seems related to the section of code at the top of each source file that
reads:

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

2)
This code is OK in VC++ v6.0: 
CString sTemp;
sTemp = "Hi Walter";
TRACE("The message is " + sTemp + "\n");

but in DMC, with Exception Handling enabled, the compiler dies with this
message:
Internal error: eh 759

This code works fine in DMC:
CString sTemp;
sTemp = "Hi Walter";
TRACE("The message is %s\n",sTemp);


3)
I know that the include paths are correct so this one was quite unexpected.  I
could not compile oleauto.h until I added this define above it.

#define EXTERN_C extern


Thanks
Andy C
Feb 27 2006