主题:gfortran编译
kltsyu
[专家分:70] 发布于 2010-11-08 10:19:00
我现在有一个程序是用fortran和c混编的,原来是串行的程序,现在改成了并行程序,请问下在gfortran下面编译程序的命令怎么写啊?请高手赐教。比如我现在有a.f90和b.c的这两个源文件。先谢谢了。
回复列表 (共5个回复)
沙发
dongyuanxun [专家分:7180] 发布于 2010-11-08 10:43:00
取决于你的入口main函数在 a.f90里还是b.c里,也取决于gfortran版本
gfortran版本如果在4.4之下的话,以下的-lgfortran更改成-lgfortranbegin -lgfortran
如果main在a.f90
gfortran a.f90 b.c
或者
gcc a.f90 b.c -lgfortran
如果main在b.c里
gcc a.f90 b.c
如果链接有错误,大多数是编译的gcc的问题,看看提示什么错误,来决定是不是加-lgcc -lgfortran,一般来说-lgcc是默认链接的,不需要加
板凳
kltsyu [专家分:70] 发布于 2010-11-08 10:58:00
dongyuanxun,谢谢您的解答。我先试试。
3 楼
kltsyu [专家分:70] 发布于 2010-11-08 11:21:00
继续求教:我的程序的入口在a.f90里面,a.f90里面使用了c.f90的module,我现在在gfortran下面使用gfortran -fopenmp a.f90 c.f90 b.c -o mainpro.exe出现了如下的提示:
use aaa
can not open module file 'aaa.mod'。
这个要如何解决呢?还有有没有这方面的文档,请给个名称。新手,多包涵。
4 楼
dongyuanxun [专家分:7180] 发布于 2010-11-08 11:36:00
[quote]继续求教:我的程序的入口在a.f90里面,a.f90里面使用了c.f90的module,我现在在gfortran下面使用gfortran -fopenmp a.f90 c.f90 b.c -o mainpro.exe出现了如下的提示:
use aaa
can not open module file 'aaa.mod'。
这个要如何解决呢?还有有没有这方面的文档,请给个名称。新手,多包涵。[/quote]
gfortran -c c.f90
gfortran -fopenmp a.f90 b.c -o mainpro.exe
文档gcc wiki上都有,http://gcc.gnu.org/wiki/GFortran
5 楼
kltsyu [专家分:70] 发布于 2010-11-08 11:40:00
see。 3q
我来回复