Fortran Coder

标题: 标准函数无法解析 [打印本页]

作者: frostfire    时间: 2020-4-19 11:44
标题: 标准函数无法解析
各位大佬打扰一下,我用的intel visual fortran composer ex2011,运行在vs2010上面,然后运行一个Fortran77的程序,结果说:
error LNK2019: 无法解析的外部符号 _GETARG@12,该符号在函数 _GNINIT 中被引用,
error LNK2019: 无法解析的外部符号 _IARGC@0,
error LNK2019: 无法解析的外部符号 _ETIME@4,
error LNK2019: 无法解析的外部符号 _ABORT@0。
后来我发现getarg、iargc、etime、abort都是Fortran的函数,为啥无法解析呢,求问啊


作者: frostfire    时间: 2020-4-19 11:45
是xe2011,都是32位的
作者: vvt    时间: 2020-4-19 12:17
先用以下最简单的代码测试一下。
i=iArgc()
end
作者: frostfire    时间: 2020-4-19 14:01
vvt 发表于 2020-4-19 12:17
先用以下最简单的代码测试一下。
i=iArgc()
end

您好,我在新建的工程下测试了这几个函数,都可以用;是不是说我原来的那个工程有问题。但是那个工程在compaq visual fortran 里面可以用,唉,不懂
作者: vvt    时间: 2020-4-19 15:14
那不太清楚了,不涉密的话,可以把工程打包传上来。(去掉debug这些生成的文件)
作者: frostfire    时间: 2020-4-19 15:35
vvt 发表于 2020-4-19 15:14
那不太清楚了,不涉密的话,可以把工程打包传上来。(去掉debug这些生成的文件) ...

您好,这个工程原来是在cvf中开发的,现在我想让他在ivf下面运行开发, 结果就报错,是不是和软件的链接有关
作者: frostfire    时间: 2020-4-19 18:42
vvt 发表于 2020-4-19 15:14
那不太清楚了,不涉密的话,可以把工程打包传上来。(去掉debug这些生成的文件) ...

嗨,我解决了,加入了USE IFPORT,然后注释掉了real*4 etime,external etime
作者: vvt    时间: 2020-4-19 20:40
按说不需要 use ifport
但是 external etime 肯定是不能加的。如果加了,编译器就会认为是外部子程序(而不是标准函数)
作者: frostfire    时间: 2020-4-20 20:38
vvt 发表于 2020-4-19 20:40
按说不需要 use ifport
但是 external etime 肯定是不能加的。如果加了,编译器就会认为是外部子程序(而不 ...

我也不懂这个
作者: obenka    时间: 2021-3-25 10:54
frostfire 发表于 2020-4-20 20:38
我也不懂这个

请问您正常编译后,生成的可执行文件可以正常使用吗?




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