DLL files difference generated based on IVF version 11.1.067 and version 11.1.060

DLL files difference generated based on IVF version 11.1.067 and version 11.1.060

We previously used IVF 11.1.060 with visual studio 2005 to generate a DLL file from FORTRAN codes. Now the we have updated to visual studio 2008 with IVF 11.1.067. After recompiling the DLL file, we find that the size of the new file has a little bit reduction. Unfortunately, the new DLL file cannot be used in previous old system. Can any one explain what is the difference between these two DLL file?   The problem is the 11.1.060 version and VS 2005 have gone. What can I do now? Thanks!

8 posts / novo 0
Último post
Para obter mais informações sobre otimizações de compiladores, consulte Aviso sobre otimizações.

when you say 'the file cannot be used' do you mean on your system or on another system?

i'm guessing it's a redistro issue between 2005 and 2008 Visual Studio.

see http://www.microsoft.com/en-us/download/details.aspx?id=29

In general, we have a software which call a DLL file generated by IVF 11.1.060. Recently we need to update the fortran source code for that DLL file. However, IVF 11.1.060 has been updated to 11.1.067. What we find is that the new DLL file generated from 11.1.067 cannot work properly in the software. That is the issue. Sorry for confusing.

What do you want me to see from the link? Thanks!

so the question is: what language/software is the 'software which call a DLL file generated by IVF"

Is it a C++ program? and what version is the C++ or whatever language the calling program is in?

that link is for "The Microsoft Visual C++ 2008 Redistributable Package (x86) installs runtime components of Visual C++ Libraries required to run applications developed with Visual C++ on a computer that does not have Visual C++ 2008 installed."

If your calling program is compiled with an older/different version of Visual Studio you probably have an incompatibility of the library calls.

What does "cannot work properly" mean?  Do you get an error message? If so, what is the complete and exact text?

Steve - Intel Developer Support

Hi, Steven,

We are using LMS Vitual Lab Motion to call a DLL subroutine generated from fortran code. LMS suggest to use IVF version 11.1.060. However, we have phased out that version, we only have 11.1.067. After test, we find following message:

(1) Warning during libifport.dll initialization:

Non-compatable version of Fortran libifcore DLL was loaded to process address space

(2) Microsoft Visual C++ Runtime Library:

Runtime Error!

Program: R:\data\cae\...

R6034 An application has made an attempt to load the C runtime library incorrectly. Please contact the application's support team for more information

The DLL file is generated using make file and command nmake and link the libraries like LIBIFCOREMD.lib, LIBIFPORTMD.lib, LIBMMD.lib, LIBIRC.lib.

In addtion, I found that nmake is missing in the latest version of intel visual fortran composer? Thanks! 

 

Ah - you need to have the same versions of libifcore.dll and libifport.dll in the search path. Also it seems you may have manually copied a Microsoft Visual C++ run-time DLL onto the system rather than use Microsoft's installer for the runtimes - that would cause the second error.

nmake is part of the Microsoft tools - you get it with Visual Studio or the Visual Studio Shell that is provided with Intel Visual Fortran. It is still included.

Steve - Intel Developer Support

Thanks a lot!

Deixar um comentário

Faça login para adicionar um comentário. Não é membro? Inscreva-se hoje mesmo!