> Hi,
>
[quoted text clipped - 5 lines]
> call functions in this mixed DLL complain on linking (LNK2019:
> unresolved external symbol)....any ideas why??
If you give some examples of functions that are coming up undefined, it
would help.
One thought: /Zc:wchar_t is on by default in VC 2005, off by default in VC
2003, so if you're exposing functions that deal in wide-character (Unicode)
strings, you might see this problem. If that's the case, either re-compile
your DLL with /Zc:wchar_t- or rebuild the other DLLs with VC 2005 as well.
-cd
Peter Schmitz - 19 Mar 2006 16:47 GMT
Thanks for replying!
The functions that are coming up undefined are my own functions (CString
TestFunc(CString param)).
-Peter
> > Hi,
> >
[quoted text clipped - 15 lines]
>
> -cd
Carl Daniel [VC++ MVP] - 19 Mar 2006 17:13 GMT
> Thanks for replying!
>
> The functions that are coming up undefined are my own functions
> (CString TestFunc(CString param)).
Is it a Unicode build? What are the other DLLs built with?
As a general rule, you can't pass MFC/ATL/STL objects between program
modules unless they're compiled with the same version of the same compiler.
There are undefined internals that change from version to version breaking
binary compatiblity.
If you need a version independent interface to a DLL, you have to stick to
plain old C (not C++) interfaces.
-cd
Peter Schmitz - 20 Mar 2006 19:27 GMT
All DLLs are compiled with VC8 - all of them are compiled with the 'multi
byte' option.
The strange thing is, that I can link to the DLL if it's compiled/linked
with VS2003 - but breaks with VS2005. I've checked if the DLL exports the
correct functions - it does. So I'd guess, that the problem lies within the
lib file...
-Peter
> > Thanks for replying!
> >
[quoted text clipped - 12 lines]
>
> -cd