24小时热门版块排行榜    

查看: 741  |  回复: 11
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

下雪的古堡

金虫 (小有名气)

[交流] 【求助】寻求帮助,程序问题 截止日期2009年5月30日

主程序和子程序编译都通过,但是运行时出现下列问题,请求高手给予指导!谢谢!


Gcmc.obj : error LNK2001: unresolved external symbol _READDAT@56
Gcmc.obj : error LNK2001: unresolved external symbol _TOTERG@28
Gcmc.obj : error LNK2001: unresolved external symbol _ADJUST@16
Gcmc.obj : error LNK2001: unresolved external symbol _MCMOVE@44
Gcmc.obj : error LNK2001: unresolved external symbol _MCEXCH@48
Gcmc.obj : error LNK2001: unresolved external symbol _X@4
Gcmc.obj : error LNK2001: unresolved external symbol _Y@4
Gcmc.obj : error LNK2001: unresolved external symbol _Z@4
Gcmc.obj : error LNK2001: unresolved external symbol _TOTERGC@32
Gcmc.obj : error LNK2001: unresolved external symbol _MOVE@92
Gcmc.obj : error LNK2001: unresolved external symbol _MCEXCHC@80
Gcmc.obj : error LNK2001: unresolved external symbol _SAM@36
Debug/Gcmc.exe : fatal error LNK1120: 12 unresolved externals
Error executing link.exe.

Gcmc.exe - 13 error(s), 0 warning(s)

[ Last edited by 下雪的古堡 on 2009-5-11 at 16:11 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

老虎大王

木虫 (著名写手)

★ ★ ★ ★ ★
下雪的古堡(金币+1,VIP+0):呵呵,好的,我是刚学程序,程序包也是别人的,谢谢给我指出这些问题,我再好好看看,真是麻烦你了。还有别叫我老兄啊!多不好意思啊 5-14 15:42
woshilsh(金币+4,VIP+0):常来哈!这版因为兄弟,增色不少哈 5-16 15:54
老兄,我把X,y,z数组定义了,却发现你的问题竟然还在。很多问题我无法理解。

比如子程序judge (在文件Judge.f中):
double precision volxx,x(i),y(i),z(i),volxm
为什么要这样写? 而且程序中的xc,yc,zc数组也没有定义。

另外,比如eneri中有这样的语句:
        call judge(sign,npart,volx)
但是到了子程序Judge中,却是这样:
               subroutine Judge(sign,npart,volxx,volxm,npart1,npart2,volxc)
为什么要这样写?实参个数与虚参差这么多?这样虽然语法允许,但是子程序中没有对npart1,npart2,volxc等变量设置任何初值,就直接使用了。

诸如此类的问题,数组不定义,实虚参数个数不一致,变量不赋初值,也不从主程序中传过来,就直接使用等等,这些问题在你的程序中很多处出现。我晕很晕。   

你可否先把这些问题弄一下,改一改,然后我们再一步步来?

[ Last edited by 老虎大王 on 2009-5-14 at 15:17 ]
12楼2009-05-14 15:13:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 12 个回答

maomao1210

金虫 (正式写手)

★ ★ ★
coldwind042(金币+1,VIP+0):谢谢帮助! 5-11 19:27
下雪的古堡(金币+2,VIP+0):没有缺少子程序都有,数组确实没定义,不过我一定义就出错,该怎么做?谢谢指导!! 5-12 08:07
这个是普通的错误,缺少子程序READDAT等。。。
至于X,Y,Z,据我估计是因为数组没有定义。。。。
2楼2009-05-11 17:56:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

coldwind042

金虫 (正式写手)

★ ★
kuhailangyu(金币+1,VIP+0):谢谢! 5-11 22:08
下雪的古堡(金币+1,VIP+0):谢谢你的指导! 5-12 08:08
同意,数组或者函数没有定义
3楼2009-05-11 19:27:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

老虎大王

木虫 (著名写手)

★ ★ ★ ★ ★ ★ ★ ★
kuhailangyu(金币+2,VIP+0):谢谢了! 5-11 22:08
下雪的古堡(金币+2,VIP+0):是F77的程序,文件在一个project中,但是要怎么LINK啊?谢谢指导!! 5-12 08:09
下雪的古堡(金币+4,VIP+0):xiexie 5-29 16:22
你好像根本没有把子程序与主程序搞到一起。如果你用的是VF,则要把涉及到的所有文件都搞到一个Project里面。如果你用的是g95,F77, Ifort之类,则要把所有的文件都Link在一起。或者你可以把主程序和所有的子程序都弄到一个文件中。
4楼2009-05-11 20:18:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见