Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations cowski on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

link error in compilation

Status
Not open for further replies.

laabidimhe

Computer
Joined
Mar 2, 2009
Messages
5
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
 
There are 3 modes of code generation:

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.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top