Hi, I've installed Intel Visual Fortran Pro and am working on a visual studio project that has some C++ code that calls a few functions from fortran libraries. When I build the project initially it looks for LIBC.lib, which it can't open. I've found the files on an old Powerstation 4.0 disc. So after installing the software on my computer, and point to the directory with the necessary libraries in it, i receive the second set of errors. (both sets of errors are pasted below) Is there some way to set a default library to override other libraries in case functions are multiply defined?

Microsoft Developer Studio Fortran PowerstationMicrosoft Developer Studio Fortran Powerstation

Thanks, Kevin ====================1st SET OF ERRORS=================== 1>------ Build started: Project: adsa1, Configuration: Debug Win32 ------ 1>Lightroom Hack Serial Number there. Linking. 1>LINK: fatal error LNK1104: cannot open file 'LIBC.lib' 1>Build log was saved at 'file://j: My Documents B02 - 20081227 UH Work - Zuo AdsaInterf 3.0 source Debug BuildLog.htm' 1>adsa1 - 1 error(s), 0 warning(s) ========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ========== ************************************************************************* ====================2nd SET OF ERRORS=================== 1>------ Build started: Project: adsa1, Configuration: Debug Win32 ------ 1>Linking. On Windows, compilers usually add a set of 'directives' to the object file which tells the linker to pull in certain libraries. This is done so that you don't have to manually list the libraries. The library you are using would appear to have been built by or at least for Microsoft Fortran PowerStation, as some of the libraries you list are for that product. You cannot mix these objects with Intel Fortran. Libc.lib is a Microsoft Visual C++ library that is not thread-safe.

No information is available for this page.Learn why. Now I have changed to Intel Fortran Compiler 9.0 under the environment of Microsoft Visual Studio.NET 2003. Version 5.0 of IMSL is incorporated. This time things goes well when compiling and building the program. But errors pop up when executing the code. The message said that the file 'imsl_dll.dll'.

It was discontinued as of VS2005. While many of the symbols in libc.lib can be fulfilled by libcmt.lib (the thread-safe variant), the C/C++ compiler actually generates different code if you're using the thread-safe version (/MT is the switch), so you'll get link errors regardless. In the end, you cannot use this library with Intel Fortran - it requires Microsoft Fortran PowerStation (taken off the market 12 years ago). Quoting - On Windows, compilers usually add a set of 'directives' to the object file which tells the linker to pull in certain libraries. This is done so that you don't have to manually list the libraries. The library you are using would appear to have been built by or at least for Microsoft Fortran PowerStation, as some of the libraries you list are for that product. You cannot mix these objects with Intel Fortran.

Libc.lib is a Microsoft Visual C++ library that is not thread-safe. It was discontinued as of VS2005. While many of the symbols in libc.lib can be fulfilled by libcmt.lib (the thread-safe variant), the C/C++ compiler actually generates different code if you're using the thread-safe version (/MT is the switch), so you'll get link errors regardless. In the end, you cannot use this library with Intel Fortran - it requires Microsoft Fortran PowerStation (taken off the market 12 years ago).

Thanks for the explanation steve. Is there a way in VS2008 to default so that libcmtd.lib's definitions take precedence and all other library's function/variable definitions are ignored (if they happen to be duplicates)?

Thanks Kevin. Quoting - Ah, Well I don't want to really exclude/ignore the entire library.

Just the functions/variables that are defined elsewhere. Does the /force:multiple option do this? Thx for all the help Steve!

Kevin Hi I tried the /force:multiple option and it did what it was supposed to, ignoring one of the redundant definitions. It did, however result in the following error and the.exe generated did not run/open:.Debug/adsa1.exe: warning LNK4088: image being generated due to /FORCE option; image may not run What does this mean? Would a dynamic linking to the MFC and C runtime libraries solve my problem? It was suggested to me but i'm not quite sure how to do it in vs2008. Quoting - Kevin, If you have the sources to build the library in PS, why not do it using Intel?

Hi Dave Actually I only have the.lib files. I tried to build a.dll using Intel VF, but VS2008 said I had a corrupted dll file and wouldnt compile. I included all 6 fortran calculation libraries: dverk.lib lapack.lib minpack1.lib blas.lib colsys.lib libtiff.lib and the powerstation.lib files that the calculation libraries are dependent on: console.lib libc.lib libf.lib portlib.lib Unfortunately, I do not have the source code for the 6 calculation libraries.

Quoting - At least some of these libraries possibly have alternatives or available sources. Dverk is probably on netlib. Lapack and blas at least are probably in the math library available with IVF. I'm not sure about the others.

If you can build these from scratch, maybe you can avoid the dependencies on the Powerstation libraries. David • Colsys is on netlib () • Dverk is on netlib () • Not sure if this is the same minpack: • Libtiff is at Blas and lapack are part of Intel MKL, shipped with IVF Pro since version 11. (You can also find slower generic versions on netlib). I think it's worth downloading those sources and investigating how to package/recompile them into.libs yourself, than to fiddle with those FPS4 binaries.

And you get lots of extra speed as the bonus.

Version 3.0 of the IMSL Fortran Numerical Library was supported on Microsoft Fortran Powerstation 4.0 for Windows NT 3.51. Sorry, but this is no longer a supported platform. If possible, I'd suggest upgrading as Microsoft stopped selling this in 1997 and no longer supports the environment either. Tank you for your help. Now I have changed to Intel Fortran Compiler 9.0 under the environment of Microsoft Visual Studio.NET 2003. Version 5.0 of IMSL is incorporated. This time things goes well when compiling and building the program.

But errors pop up when executing the code. The message said that the file 'imsl_dll.dll' could not be found. Certainly this file is in the right place. How this happened?

At first, I included the file 'link_f90_dll.h'. Later I use 'link_f90_static.h', there's no problems. Thanks rotor. I know this is an old thread, but in case someone sees it later. Digital Electronics With Vhdl William Kleitz Pdf Printer more. When the IMSL libraries are installed as part of Intel Visual Fortran, the installer asks if you want to update the system environment variables. If you say Yes to this, then PATH is updated so that the IMSL DLLs can be found when running programs that require them. Otherwise, you have to add the folder containing the DLLs to PATH manually.

The same holds for the Intel Fortran DLLs. When you ask to use the static libraries, there is no dependence on DLLs and thus you don't run into this problem.

Microsoft has a long term solution for this general problem, often referred to as 'DLL hell', in the form of manifests and shared assemblies. With these, you no longer need to add DLL directories to PATH, but the downside is that shared assemblies are supported on Windows XP and Vista only and can be created only with VS2005. If you need help using IMSL from Intel Visual Fortran, please click on the Intel Compiler Support link in my signature below. I will note that version 9.1 of the compiler was released in the summer of 2006, version 9.0 is no longer supported.