Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何:在Cygwin中引用FORTRAN 95中的LAPACK库_Cygwin_Fortran_Lapack - Fatal编程技术网

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

如何:在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一样简单。您只需要弄清楚构建语句中要

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

LAPACK作为“cyglapack.dll”存在于/lib/LAPACK/目录中。我只接受过非常非正式的Fortran编程培训,不知道如何引用.dll库而不是.mod模块

非常感谢对回答我问题的文章的任何建议或指导!
(顺便说一句,我是先搜索的。我想我不知道合适的术语来获取有用的文章。)

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

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


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

搜索词:
动态链接fortran

请看这一页:

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

否则,首先考虑运行Linux Live CD以避免出现问题!如果你是一名学生或学者,看看你是否能找到一台安装了fortran的服务器(IT人员通常很有帮助),在那里你可以编译和运行你的程序