如何:在Cygwin中引用FORTRAN 95的LAPACK库

时间:2010-04-23 17:30:09

标签: cygwin fortran lapack

我有一个FORTRAN 95程序需要调用LAPACK库。我最近发现了Cygwin,因为它可以安装LAPACK作为额外选项。

好吧,LAPACK在/ lib / lapack /目录中以“cyglap​​ack.dll”的形式存在。在Fortran编程中只有非正式的培训,我不知道如何引用.dll库而不是.mod模块。

对回答我的问题的文章提出任何建议或指示都非常感谢! (P.S.我先搜索过..我认为我不知道获得有用文章的正确条款。)

2 个答案:

答案 0 :(得分:0)

从概念上讲,调用Lapack应该像调用任何其他DLL一样简单。您只需要弄清楚要在构建语句中包含哪些链接标志和语句。

从Fortran你可能会声明EXTERNAL来自Lapack的你不会使用的函数。这告诉编译器不要在源代码或mod文件中查找函数的定义,而是在链接时提供定义。这是有趣的开始,因为您尝试确保调用的签名与DLL期望的签名匹配。

如果您提供更多信息,我可能会提供更多帮助。什么是Windows开发环境?您使用的Fortran编译器是什么?你使用什么编译和链接工具?您当前的链接语句是什么样的?

答案 1 :(得分:0)

搜索字词:dynamic linking fortran

看看这个页面:

http://sources.redhat.com/ml/binutils/2001-12/msg00471.html

它提到使用dlltool从.a文件生成.dll文件。大概你应该能够以正常方式链接到它(通常是编译命令的lib开关。)

否则,考虑首先运行Linux Live CD以避免问题!如果您是学生或学者,请查看是否可以找到安装了fortran的服务器(IT人员通常非常有帮助),您可以在其中编译和运行程序。