主题:Ubuntu下intel fortran compiler编译求助
bavernirain
[专家分:90] 发布于 2010-05-12 15:57:00
本人执行编译命令后,显示:
ipo: warning #11009: file format not recognized for coefficient
ld:coefficient: file format not recognized; treating as linker script
ld:coefficient:1: syntax error
其中coefficient是文件名.
请高人不吝赐教!
回复列表 (共6个回复)
沙发
yeg001 [专家分:14390] 发布于 2010-05-12 20:11:00
那就去掉 -ipo 这个编译选项就是了. 记得有一个版本的 -ipo命令是有问题.
板凳
bavernirain [专家分:90] 发布于 2010-05-12 21:06:00
[quote]那就去掉 -ipo 这个编译选项就是了. 记得有一个版本的 -ipo命令是有问题.[/quote]
我用的是[ifort coefficient -o test]命令,另如果打开一个彭国伦fortran 95光盘中的一个程序,将其代码删掉,将我编的代码复制其上,则可编译,但若是新建一个文件,输入相同的代码,就出现上面所说的错误.
3 楼
yeg001 [专家分:14390] 发布于 2010-05-13 09:46:00
按照你用写的是f90代码还是f77代码使用不同扩展名就是了, 没必要用彭的文件来修改.
不知道你说的问题分代码格式是否有关. 编译器会根据扩展名对应用编译方式.
方便的话可以贴你的代码上来, 或者上传附件.
我遇到过的ipo警告就是某一版本的ivf中对-ipo参数, 后来intel自己bug修正里面也提到.
4 楼
bavernirain [专家分:90] 发布于 2010-05-13 10:15:00
program coeffient
implicit none
real (kind=8) :: a1 , a2 , a3
a1=3.961
a2=4.064
a3=3.574
a1=a1*0.5291772
a2=a2*0.5291772*0.5291772
a3=a3*0.5291772**3
write(*,*) a1,a2,a3
stop
end program
5 楼
yeg001 [专家分:14390] 发布于 2010-05-13 11:08:00
[wxh6@console program]$ ifort -v
Version 11.1
[wxh6@console program]$ ifort test.f90 -o test
[wxh6@console program]$ ifort test.f -o test
: error #5149: Illegal character in statement label field [p]
: error #5149: Illegal character in statement label field [r]
...
[wxh6@console program]$ ifort test
ipo: warning #11009: file format not recognized for test
ld:test: file format not recognized; treating as linker script
ld:test:1: syntax error
以上是ivf11.1编译你的代码(内容在test文件里面), 扩展名.f90正常, 改为扩展名.f报告label出错(格式原因). 没有扩展名(你现在的情况)汇报给你的一样. 说起来, 我还真未试过没扩展名...
说明, 你应该在你编译的文件后面加上".f90"扩展名.
6 楼
bavernirain [专家分:90] 发布于 2010-05-13 12:24:00
多谢指点,现在总算明白了,原来只以为在linux下扩展名不是很重要,却不知道intel fortran compiler是要区分扩展名的.这个问题困扰我好长时间了,多谢帮助!!!
我来回复