24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1102  |  回复: 4

positron

木虫 (职业作家)

[交流] 【求助】Fortran编译目标文件后的链接问题

问题如下:
假如有四个fortran源文件:
main.f90;test1.f90;test2.f90;test3.f90

test1.f90和test2.f90是main.f90需要的模块文件,main.f90要调用test3.f90中的一个子程序(也使用了两个模块文件)

现在单独ifort -c test1.f90,可以生成test1.mod和test1.o

       单独ifort -c test2.f90,可以生成test2.mod和test2.o

       单独ifort -c test3.f90,可以生成test3.mod和test3.o

但是ifort -c main.f90时却出现调用参数错误,说找不到test3中的一个那个子程序名

百度了一下说是可能要test3.f90编译,然后和main.f90编译链接

不知道这个test3.f90(或者编译后的test3.o)如何链接到main函数,才能正确的调用,谢谢大家


说了很多,不知道给大家绕糊涂了没?

回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

positron(金币+5):呵呵,还是没有搞清楚如何链接 2010-09-05 22:58:38
-c 只表示编译,但不链接,所以 ifort -c main.f90 这一步按理不会出现错误提示的。
2楼2010-09-05 22:48:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

positron

木虫 (职业作家)

引用回帖:
Originally posted by snoopyzhao at 2010-09-05 22:48:44:
-c 只表示编译,但不链接,所以 ifort -c main.f90 这一步按理不会出现错误提示的。

那要是main.f90要引用test3.f90中的某个子程序段的时候

要如何编译链接呢?
3楼2010-09-05 22:58:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)


positron(金币+5):谢谢,明天我去试试,不行还是要向你请教:tiger23: 2010-09-05 23:29:56
nono2009(金币+1):鼓励应助。 2010-09-06 08:33:42
你这种情况 ifort man.f90 test1.f90 test2.f90. test3.f90 应该就可以,呵呵
具体看一下 ifort 的 man page....
4楼2010-09-05 23:15:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lvdq44

木虫 (著名写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
微尘、梦想(金币+2): 谢谢回复! 2011-05-27 15:29:06
你把主程序和所有的子程序都拷贝在一个fortran文件里,取一个新的fortran文件名,然后再编译,再link, 就行了(如果没有其他错误的话)。
5楼2011-05-27 10:15:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 positron 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见