Re: Linking VS6.0 DLL to .Net 2003 - CString Error
- From: sreenubkaimal@xxxxxxxxx
- Date: 18 Dec 2006 16:36:29 -0800
Thanks for the help !!
David Wilkinson wrote:
sreenubkaimal@xxxxxxxxx wrote:
Please help me with this..
I have a DLL created in Visual C++ 6.0 ( VS 6.0 ).
I am trying to use this DLL in a new wrapper application written using
Visual Studio .net 2003 (C++ - MFC).
My DLL has many methods which uses CString as arguements and return
values.
At first, I got a Link error as
error LNK2019: unresolved external symbol "__declspec(dllimport)
public: static void __cdecl CTestCommon::SetName(class
ATL::CStringT<char,class StrTraitMFC_DLL<char,class
ATL::ChTraitsCRT<char> > >)"
(__imp_?SetName@CTestCommon@@SAXV?$CStringT@DV?$StrTraitMFC_DLL@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@@Z)
referenced in function "public: void __thiscall
CWrapper2003Dlg::OnBnClickedTest(void)"
(?OnBnClickedTest@CWrapper2003Dlg@@QAEXXZ)
I found a KB article as
http://support.microsoft.com/kb/309801
As per this, i should add the following code to Stdafx.h
template class __declspec(dllimport) CStringT<TCHAR, StrTraitMFC<TCHAR,
ChTraitsCRT<TCHAR> > >;
template class __declspec(dllimport) CSimpleStringT<TCHAR>;
But even this is not solving my problem !! It s giving syntax error as
error C2059: syntax error : '<'
I dont know whether this is a silly mistake of mine.. But I am not able
to figure out any solution !!
sreenubkaimal:
You cannot use a VC6 DLL with a VS2003 program, except under very
special circumstances. If you pass library (C++ standard or MFC) objects
there is no way it can work, because the corresponding classes may have
a different layout in the two library versions. CString was completely
changed in VS2002.
You will need to recompile your DLL in VS2003.
David Wilkinson
.
- Follow-Ups:
- Re: Linking VS6.0 DLL to .Net 2003 - CString Error
- From: sreenubkaimal
- Re: Linking VS6.0 DLL to .Net 2003 - CString Error
- References:
- Linking VS6.0 DLL to .Net 2003 - CString Error
- From: sreenubkaimal
- Re: Linking VS6.0 DLL to .Net 2003 - CString Error
- From: David Wilkinson
- Linking VS6.0 DLL to .Net 2003 - CString Error
- Prev by Date: Re: How do I do __typeof(__box MyValueType) in the new C++/CLI syn
- Next by Date: Logging as windows system account
- Previous by thread: Re: Linking VS6.0 DLL to .Net 2003 - CString Error
- Next by thread: Re: Linking VS6.0 DLL to .Net 2003 - CString Error
- Index(es):
Relevant Pages
|