Fortran Coder

标题: 使用Mingw编译提示Can't open module file 'omp_lib.mod' [打印本页]

作者: cstg    时间: 2017-5-1 21:49
标题: 使用Mingw编译提示Can't open module file 'omp_lib.mod'
大家好,我目前在编写一个数值计算程序。我用MinGW去编译这些文件时出现以下错误提示:
Fatal Error: Can't open module file 'omp_lib.mod' for reading at (1): No such file or directory

我检查了下,发现是由于我调用了lapack中的函数iparam2stage.f,而它里面有这样一句:
#if defined(_OPENMP)
      use omp_lib
#endif

我简单地查了一下资料,发现omp是用于并行的一个程序。但是我在MinGW中只找到了omp的.h头文件,而没有找到其中的.lib库文件,请问这是什么原因?是我Mingw缺少组件还是
说omp_lib.mod确实在别的地方?

谢啦!

作者: li913    时间: 2017-5-2 14:50
本帖最后由 li913 于 2017-5-2 14:51 编辑

据说gfortran编译器不带OpenMP,需要额外安装,如果已有,配置好它就是。以上内容仅供参考,我不确定,我自己在C::B+gfortran下也没有实现OMP。或者你使用串行的库。

作者: pasuka    时间: 2017-5-3 09:02
1、为啥非要自己编译LAPACK呢?MinGW编译好的LAPACK或者OpenBLAS下载一个现成库不行吗?
2、MinGW可以自行选择用户需要的库,为啥不检查一下是不是遗漏了啥?
3、自己写Makefile的话,直接上MSYS2呗,只要能联网,配置起来很简便
作者: cstg    时间: 2017-5-3 20:36
li913 发表于 2017-5-2 14:50
据说gfortran编译器不带OpenMP,需要额外安装,如果已有,配置好它就是。以上内容仅供参考,我不确定,我自 ...

我也感觉可能没有。。就是不知道怎么去安装,但比较奇怪的是居然有.h文件。另外关于串行那个。。。我不懂这方面的,只百度到串行数据的概念。。。不过还是谢谢了!
作者: cstg    时间: 2017-5-4 13:10
pasuka 发表于 2017-5-3 09:02
1、为啥非要自己编译LAPACK呢?MinGW编译好的LAPACK或者OpenBLAS下载一个现成库不行吗?
2、MinGW可以自行 ...

我试了下直接使用现成的已经编译好后的lapakc库文件,发现没这个问题了,谢谢!
不过我还是更希望可以自己编译,因为希望到时做出来的程序包里可以只包含用到的lapakc和blas文件,就像arpack一样。另外之前我已经通过installation manager下载安装了所有的MinGW的package,但似乎还是没有OpenMp....makefile之后会去写,但现在还不是很懂,不知道联网配置是怎么操作的
作者: pasuka    时间: 2017-5-4 16:36
cstg 发表于 2017-5-4 13:10
我试了下直接使用现成的已经编译好后的lapakc库文件,发现没这个问题了,谢谢!
不过我还是更希望可以自 ...

知难行易,为啥不多花点时间瞅瞅OpenBLAS项目主页的相关文档呢?
Installation Guide · xianyi/OpenBLAS Wiki
https://github.com/xianyi/OpenBLAS/wiki/Installation-Guide
Faq · xianyi/OpenBLAS Wiki
https://github.com/xianyi/OpenBLAS/wiki/Faq
作者: cstg    时间: 2017-5-4 21:41
pasuka 发表于 2017-5-4 16:36
知难行易,为啥不多花点时间瞅瞅OpenBLAS项目主页的相关文档呢?
Installation Guide · xianyi/OpenBLAS ...

哦哦,好的。主要是据我所知周围没有人用Fortran写代码,都用matlab直接测试算法,所以我也不知道该从哪里看起。谢谢你的提示与资料!我去看看!
作者: pasuka    时间: 2017-5-5 08:44
cstg 发表于 2017-5-4 21:41
哦哦,好的。主要是据我所知周围没有人用Fortran写代码,都用matlab直接测试算法,所以我也不知道该从哪 ...

为啥不再花点时间研究一下为啥别人用MATLAB的原因呢?
为啥不试试MATLAB编程?为啥不搜索一下MATLAB发展简史?
需知:实践是检验真理的唯一标准!!!
作者: cstg    时间: 2017-5-5 22:22
pasuka 发表于 2017-5-5 08:44
为啥不再花点时间研究一下为啥别人用MATLAB的原因呢?
为啥不试试MATLAB编程?为啥不搜索一下MATLAB发展 ...

这个的话。。其实matlab我一直在用。现在用Fortran一是为了能够得到更高的效率,二也是因为导师的要求。
作者: pasuka    时间: 2017-5-5 22:39
本帖最后由 pasuka 于 2017-5-6 09:03 编辑
cstg 发表于 2017-5-5 22:22
这个的话。。其实matlab我一直在用。现在用Fortran一是为了能够得到更高的效率,二也是因为导师的要求。 ...

对于这2点持保留意见,lz不妨过一年半载再来做个回顾




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2