link error in compilation
link error in compilation
(OP)
Hello,
Can you please help me with this problem in the Fortran developper Studio (Microsoft Visual Studio 97). I have a code with 90 subroutines each one in separated file,
I created a project (dynamic library file) after compilation there is an error:
C:\PROGRAM FILES\DEVSTUDIO\DF\LIB\msvcrt.lib : fatal error LNK1106: invalid file or disk full: cannot seek to 0x39a5d3ad
Error executing link.exe.
how I can solve this problem
Can you please help me with this problem in the Fortran developper Studio (Microsoft Visual Studio 97). I have a code with 90 subroutines each one in separated file,
I created a project (dynamic library file) after compilation there is an error:
C:\PROGRAM FILES\DEVSTUDIO\DF\LIB\msvcrt.lib : fatal error LNK1106: invalid file or disk full: cannot seek to 0x39a5d3ad
Error executing link.exe.
how I can solve this problem
RE: link error in compilation
single threaded - uses libc.lib
multithreaded - uses libcmt.lib
multithreaded dll - uses msvcrt.lib
It looks like your build is set to use multithreaded dll. Question is whether it is a multithreaded program. If it isn't, change the code generation to single threaded. Alternatively, just try multithreaded instead of multithreaded dll. The only advantage that multithreaded dll gives you is a smaller library. The problem is that it is slower to load and has to link with msvcrt.dll at run time: what MS call dynamic linking - hence DLL, Dynamic Link Library.
You end up with a bigger library but once it has been built it is the end of your problems. If you choose multithreaded dll and go on to, say, a Vista system, your program will not run. You need to pull over a whole load of msvcrt... libs from your build environment because stuff of the VS6 vintage does not come with XP or Vista.