Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Need NetCDF library used in IVF9.0

yhmwhigg
Beginner
772 Views
Hi, everyone
Isthere an compiled NetCDF library used in IVF9.0? I had tried to compile NetCDF source file by using IVF9.0, but the output library does not recognized by IVF9.0. I have to use NetCDF library as a CVF standard tradition in IVF9.0, otherwise it can not work. So it is not convinent when compile FORTRAN code which used NetCDF library. Does anybody give me any suggestion about it? Thanks in advance.
0 Kudos
4 Replies
Steven_L_Intel1
Employee
772 Views
What do you mean by "the output library is not recognized"? What errors do you get?
0 Kudos
yhmwhigg
Beginner
772 Views
Hi, Steve,
For example:
In IVF9.0, to use NetCDF libraryneeds to change "configuration properties".I mustchoose menu "Project|...properties" to open "configuration properties". Then select Fortran-->External Procedures-->Calling Convention-->Default", and change "Default" to "CVF" or "STDCALL". Otherwise, there are many error link 2019, "cannot find external ...". By the way, another question about the peoperties setup. I find the problem today that Ican not setup the properties under Fortran item. When I select any sub-item of Fortran, the right window does not change at all. Why?(I had try to reinstall IVF9.0, but the problem still there).
Now, suppose that I want to use two different libraries at the same time in a main program. One is compiled by IVF9.0 (Default), such as IMSL,and the other is compiled by other compiler, such as NetCDF (STDCALL). To use them together in IVF9.0 will not built the main program successfully (because here we use default setting for Calling Convention). But in CVF, there is no this problem. So, how can solve the conflict of two or more libraries?
Thanks!

Message Edited by yhmwhigg on 03-14-2006 10:34 PM

0 Kudos
Steven_L_Intel1
Employee
772 Views
I don't understand the problem of the properties not changing. If you need help with that I suggest you file a support request with Intel Premier Support, attaching a ZIP of your project and the exact steps you follow to see this behavior. Screen shots might help.

If you had an external library that was built for CVF conventions and you could not rebuild it, you would create a set of interface blocks for each routine that had ATTRIBUTES directives to override the compiler defaults. Typically this would be:

!DEC$ ATTRIBUTES STDCALL, REFERENCE, MIXED_STR_LEN_ARG, DECORATE, ALIAS:"FOOBAR" :: FOOBAR

However, you say you have the sources so you should be able to recompile the library using Intel Fortran and avoid the above step. There may be some conditionalization you have to change to reflect Intel Fortran's defaults, which are closer to most other compilers than CVF was.
0 Kudos
yhmwhigg
Beginner
772 Views
Thanks Steve.
The NetCDF is written by C++, so it is difficult to compile it to support IVF. Maybe NetCDF group can have some idea for it.
0 Kudos
Reply