- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
Link Copied
4 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What do you mean by "the output library is not recognized"? What errors do you get?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page