主题:请问这个错误一般是什么原因啊
kingsky
[专家分:20] 发布于 2011-06-17 14:33:00
error LNK2019: 无法解析的外部符号 _RIGHT_STATE_WALL,该符号在函数 _INTERSECT2 中被引用 flx_fbscl.obj
RIGHT_STATE_WALL和 INTERSECT2都是带参数的subroutine
回复列表 (共7个回复)
沙发
臭石头雪球 [专家分:23030] 发布于 2011-06-17 15:31:00
RIGHT_STATE_WALL 没有找到,不是都说了么??
这个函数或者这个变量没有,缺失了。就这么简单
板凳
kingsky [专家分:20] 发布于 2011-06-17 15:42:00
原来是个现成的程序的,运行的很好,我的任务是写一个新的子程序flx_fbscl 替代原来的,但是问题来了,主程序中有个module是声明全局变量的(没有common),原来的子程序不用use这个module,而我写的这个子程序就不行,不use这个module,编译就不认我的新程序中出现的全局变量
也搞不懂我这个新写的子程序怎么会找不到RIGHT_STATE_WALL的,其它原有的子程序用这个subroutine都没有问题的
RIGHT_STATE_WALL和 INTERSECT2都是我新写的子程序flx_fbscl 中用到的subroutine
为啥说 “_RIGHT_STATE_WALL在函数 _INTERSECT2 中被引用 ” 啊?
这两者没有关系啊
3 楼
臭石头雪球 [专家分:23030] 发布于 2011-06-17 16:24:00
INTERSECT2 和 RIGHT_STATE_WALL 都是函数么?
他们都 contains 在你新写的程序中么?
flx_fbscl 是个主程序还是 Module ?
4 楼
kingsky [专家分:20] 发布于 2011-06-17 16:54:00
program main
....
call flx_fbscl(a,b)
end
=====================
subroutine flx_fbscl(a,b)
.....
call RIGHT_STATE_WALL(c,d)
call INTERSECT2(e,f)
....
end subroutine flx_fbscl
===================
subroutine RIGHT_STATE_WALL(c,d)
......
end subroutine RIGHT_STATE_WALL
====================
subroutine INTERSECT2(e,f)
.....
end subroutine INTERSECT2
5 楼
cgl_lgs [专家分:21040] 发布于 2011-06-17 17:43:00
INTERSECT2里是如何调用RIGHT_STATE_WALL的?
找出INTERSECT2子程序所有调用RIGHT_STATE_WALL的地方,看看是不是写法有问题。
6 楼
kingsky [专家分:20] 发布于 2011-06-18 09:38:00
INTERSECT2里没有调用RIGHT_STATE_WALL的
其它程序调用RIGHT_STATE_WALL肯定是没有问题的,因为原来是个完好的程序
7 楼
kingsky [专家分:20] 发布于 2011-06-18 17:00:00
解决了,这个名字有问题,是不是不能带数字还是名字太长啊。把INTERSECT2改成sect就解决了,狂晕............
我来回复