因为课题需要,最近要看一个Fortran的源程序,只是在最开始编译的阶段就出现了问题,查了很多的网友提供的资料,现将该问题做一个记录,仅作为后续学习,再次,对于提供帮助的网友表示感谢,就不一一例举了。
对于IVF的安装以及IMSL 7.0的安装以及IDE环境的配置就不详述了,可以参阅文末的博客链接。
下面对于我遇到的问题作一说明
问题:IVF XE2011中,调用IMSL库函数
(1)在主程序开始之前,需要添加 include 'link_fnl_shared.h';
(2)可能Fortran 90之前的版本调用IMSL库的时候,用的是” use IMSL“ 即可,但对于较高版本,可能会提示无法打开mod文件,这时应用 ” use Numerical_Libraries “;
(3)对于矩阵求逆等线性算子,当使用 ”use linear_operators ”时依旧会提示出错 “ internal error ”,通过查阅知道这是IMSL7.0的一个bug,在imsl7.0中用use linear_operators这句话是会出错的,后来intel给出了个X64 imsl的补丁,但是32位的没有。要使用包含在linear_operators这个库中的函数时,要用use+原函数。
例如:要使用矩阵求逆运算 B = .i. A 。这时可以把 use linear_operators 改成 use operation_i 即可.
参考资料:http://fcode.cn/guide-58-1.html
http://bbs.pfan.cn/post-383869.html