如何:在Cygwin中引用FORTRAN 95中的LAPACK库
我有一个FORTRAN 95程序,需要调用LAPACK库。我最近发现Cygwin是因为它可以作为额外选项安装LAPACK LAPACK作为“cyglapack.dll”存在于/lib/LAPACK/目录中。我只接受过非常非正式的Fortran编程培训,不知道如何引用.dll库而不是.mod模块 非常感谢对回答我问题的文章的任何建议或指导!如何:在Cygwin中引用FORTRAN 95中的LAPACK库,cygwin,fortran,lapack,Cygwin,Fortran,Lapack,我有一个FORTRAN 95程序,需要调用LAPACK库。我最近发现Cygwin是因为它可以作为额外选项安装LAPACK LAPACK作为“cyglapack.dll”存在于/lib/LAPACK/目录中。我只接受过非常非正式的Fortran编程培训,不知道如何引用.dll库而不是.mod模块 非常感谢对回答我问题的文章的任何建议或指导! (顺便说一句,我是先搜索的。我想我不知道合适的术语来获取有用的文章。)从概念上讲,调用Lapack应该和调用任何其他DLL一样简单。您只需要弄清楚构建语句中要
(顺便说一句,我是先搜索的。我想我不知道合适的术语来获取有用的文章。)
从概念上讲,调用Lapack应该和调用任何其他DLL一样简单。您只需要弄清楚构建语句中要包含哪些链接标志和语句
在Fortran中,您可能会将Lapack中您不想使用的函数声明为EXTERNAL
。这告诉编译器不要在源代码或mod文件中查找函数的定义,而是在链接时提供该定义。这就是乐趣的开始,因为您试图确保调用的签名与DLL期望的签名匹配
如果你提供更多的信息,我可能会提供更多的帮助。您的Windows开发环境是什么?您使用的是什么Fortran编译器?您正在使用什么编译和链接工具?您当前的链接语句是什么样子的?搜索词:
动态链接fortran
请看这一页:
它提到使用dlltool从.dll
文件生成.a
文件。大概您应该能够以正常的方式链接到它(通常是compile命令上的lib
开关)
否则,首先考虑运行Linux Live CD以避免出现问题!如果你是一名学生或学者,看看你是否能找到一台安装了fortran的服务器(IT人员通常很有帮助),在那里你可以编译和运行你的程序