Discussion:
VC7.1 can't find msvcirt.lib
(too old to reply)
Derek
2005-03-02 21:01:53 UTC
Permalink
My company recently upgraded from VC6 to .NET 2003 (7.1) and I
am trying to recompile our applications. Unfortunately one of
our Win32 console projects fails to link with the error:

LINK : fatal error LNK1104: cannot open file 'msvcirt.lib'

I know msvcirt.lib is not part of the 7.1 distribution, but if
I use /NODEFAULTLIB to exclude it I get a bunch of missing
symbols (mostly iostream from what I can tell). These symbols
are needed by a third-party library for which I do not have
source code.

Any suggestions about how to proceed?

Thanks,
Derek
Larry Brasfield
2005-03-02 21:21:57 UTC
Permalink
Post by Derek
My company recently upgraded from VC6 to .NET 2003 (7.1) and I
am trying to recompile our applications. Unfortunately one of
LINK : fatal error LNK1104: cannot open file 'msvcirt.lib'
I know msvcirt.lib is not part of the 7.1 distribution, but if
I use /NODEFAULTLIB to exclude it I get a bunch of missing
symbols (mostly iostream from what I can tell). These symbols
are needed by a third-party library for which I do not have
source code.
Any suggestions about how to proceed?
I would check the include paths being used during
compilation. Try building your console project from
the command line after running the vcvars32.bat
found in a Vc7/bin subdirectory of your VC7.1
installation. If that goes ok, (which I predict),
then incorrect inclusion is very likely the cause
of your link problems.
--
--Larry Brasfield
email: ***@hotmail.com
Above views may belong only to me.
Tim Robinson
2005-03-02 22:30:46 UTC
Permalink
Post by Derek
My company recently upgraded from VC6 to .NET 2003 (7.1) and I
am trying to recompile our applications. Unfortunately one of
LINK : fatal error LNK1104: cannot open file 'msvcirt.lib'
I know msvcirt.lib is not part of the 7.1 distribution, but if
I use /NODEFAULTLIB to exclude it I get a bunch of missing
symbols (mostly iostream from what I can tell). These symbols
are needed by a third-party library for which I do not have
source code.
As of 7.1, Visual Studio no longer ships with old-style <iostream.h>
support, only the standard classes in <iostream>. It's not hard to
convert given source code, but you may be in for trouble if you can't
get hold of an updated version of your library.
--
Tim Robinson (MVP, Windows SDK)
http://mobius.sourceforge.net/
Derek
2005-03-03 15:55:39 UTC
Permalink
Post by Tim Robinson
Post by Derek
My company recently upgraded from VC6 to .NET 2003 (7.1) and I
am trying to recompile our applications. Unfortunately one of
LINK : fatal error LNK1104: cannot open file 'msvcirt.lib'
I know msvcirt.lib is not part of the 7.1 distribution, but if
I use /NODEFAULTLIB to exclude it I get a bunch of missing
symbols (mostly iostream from what I can tell). These symbols
are needed by a third-party library for which I do not have
source code.
As of 7.1, Visual Studio no longer ships with old-style <iostream.h>
support, only the standard classes in <iostream>. It's not hard to
convert given source code, but you may be in for trouble if you can't
get hold of an updated version of your library.
Thanks. I'll contact the vendor to see if they offer a version of
their library compiled for .NET 2003.

Loading...