lyricx 发表于 2012-11-15 19:30:56

error LNK2019: 无法解析的外部符号 ??

编程环境:Intel(R) Visual Fortran Composer XE 2011 Integration for Microsoft Visual Studio* 2010,
在我的Fortran程序module中,只要使用 function就会出现" error LNK2019 "的错误,目前不得不
将“function”改为subroutine来避免这个问题。
我什么地方设置不对么?

谢谢高手解答。

For the attached file, I can't compile successfully.

bvoodnuq 发表于 2012-11-17 15:25:35

你既然把这些子程序都写在同一个 Module 里了。

那么他们彼此就“认识”,你不必在其中一个里面写 external B

比如:

Module M

integerfunction A()
End Function A

Logical Function B()
End Function B

End Module M

编译器编译以后,A 函数其实叫 M_mp_A ,表示 M 模块里的 A 函数。
如果你在 B 函数里,声明了 External A,那么 B 函数要去找 A 函数,找不到,因为只有M_mp_A ,而没有 A。

所以,删掉 External A 就可以了。同一个模块内的函数,彼此是互相认识的。
另外,类似这样的也要删除:
LOGICAL DLAISNAN
EXTERNAL DLAISNAN
把 logical DLAISNAN 也删除。
页: [1]
查看完整版本: error LNK2019: 无法解析的外部符号 ??