作者Jyukai ( )
看板Fortran
标题[问题] 如何同时使用IMSL函式库又使用自己编写的副程式
时间Thu Apr 14 18:26:27 2011
请问各位先进,
小弟使用Compaq Visual Fortrand (Version 6.6)编写fortran
档案格式使用fixed format file
计算数值时有呼叫IMSL内的函式库 (有在开头写 use IMSL 指令)
也有自己写其他的function使用 (这部份没问题,只要在开头另外设external就好)
IMSL和很多自定function都可以正常使用
但想要自己同时在程式内也写subroutine并呼叫时,会出现下列错误讯息
Main - 2011.04.07.obj : error LNK2001: unresolved external symbol
_SUBROUTINESOLVE@20
Debug/Main - 2011.04.07.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
目前不知道该怎麽办,
其实我知道这个错误讯息的意思,因为一开始写function如果没有另外设external也
会有这错误出现,
但是现在是假使将自己写的这个subroutine也设定成external,也无法执行,
而且因为整个程式有大量使用IMSL,所以也无法取消使用IMSL。
不知道是不是有另外的指令语法或是方法可以让我同时使用IMSL又使用自定的subroutine?
而程式因为有几千行似乎也不方便贴上来,需要麻烦各位高手指导了。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 119.77.251.170
1F:推 Semisphere:1. 或许副程式名称同名,换一个试试 04/15 08:40
3F:→ Jyukai:没办法耶,我换了其他的名字依然是同样的错误 04/15 10:48
4F:→ Jyukai:另外感谢您提供的网站,我会参考使用看看 04/15 10:49
※ 编辑: Jyukai 来自: 119.77.251.170 (04/15 12:26)
5F:推 charlesdc:把你自己写的sub包在module在use进来就没问题了 04/15 17:38
6F:→ Jyukai:後来发现,似乎是自己在call的时候多打了subroutine指令 04/17 14:44
7F:→ Jyukai:不过也有尝试楼上说的module,同样也解决这问题 04/17 14:44