Fortran Coder

标题: 关于"无法解析的外部符号”系列问题 [打印本页]

作者: 望舒    时间: 2021-3-17 18:32
标题: 关于"无法解析的外部符号”系列问题
本帖最后由 望舒 于 2021-3-17 18:32 编辑

编译器:VS2013的intel fortran
源代码:据导师称是来自前苏联的STAB源代码(STAB是一款来自俄罗斯的分析有关超空泡航行体水下和入水运动软件)
问题:理论上运行这段源代码,可以得到一个EXE文件,打开之后可以进行GUI操作。导师给我的任务是,给STAB新加上某一功能。
我本来想先把源代码跑出来看看,运行出一个什么东西,然后再分析代码,再自己改动。但源代码根本跑不动,咨询导师后发现源代码本身存在
问题,逐一解决了语法上的问题(如字符长度不匹配等),但最后又不断报错"无法解析的外部符号“等情况。
本人已经咨询过自己导师,但他似乎本身也无法解决...

查询资料后得知,链接出错可能是由于没有添加库文件所导致的。
但是问题在于,导师给的文件包中找不到lib格式的文件,只有4个f90文件和一个.h文件及一个.rc文件。
我尝试用.h和.rc文件生成Lib文件并添加到fortran的工程中,也没有任何作用。
(FORTRAN是用WINapp建立的工程,但是用Console也会报相同错误)

请问:1.如何判断这一问题是否真的是缺失库文件造成的?
          2.如果不是缺失库文件造成的而是我的错误操作,请问正确如何正确操作才能使源代码跑起来?(形象的说就是这几个零件该怎么拼)

(本人编程小白,之前编过简单的console工程,没有写过这种可以类似于生成一个商用软件的代码)


如下图是报错内容




如下图是导师给的文件包


我的操作方法是把.f90和.fd文件拉入了fortran的winapp工程然后开始调试,最开始的报错类型大多是语法错误,如下图



但等我把这些错误都修正后就出现了第一张图报的54个错误。


注:1.已经请教过导师,但他似乎真解决不了。
      2.我也不知道为什么他把他解决不了的问题让我搞毕设...
     3.虽然没签保密协定,但我课题似乎还是又一定保密性,我可以发截图,但不能把所有代码发出来到论坛上。如果有大牛愿意帮我看看这些代码怎么弄,可以私下联系,我可以给予一定报酬。



作者: 望舒    时间: 2021-3-17 18:37
我也考虑过自己编而不用源代码,但是STAB是前苏联集众人之力搞出来的玩意儿,并非我一个人可以胜任的工作量。
现在就是导师发过来的东西就是跑不动,咱也不敢说,咱也不敢问。
作者: li913    时间: 2021-3-17 19:26
FAQ之 常见错误分析
http://fcode.cn/guide-36-1.html,这里有怎么解决的解答。
作者: li913    时间: 2021-3-17 19:29
你这个问题比较头疼,除非远程调试,或者给源码。
作者: 望舒    时间: 2021-3-17 20:17
li913 发表于 2021-3-17 19:26
FAQ之 常见错误分析
http://fcode.cn/guide-36-1.html,这里有怎么解决的解答。

谢谢,我大概看了下应该是我需要的。我先认真学一下再来提问,再次感谢!
作者: 小城烟雨客    时间: 2021-3-17 20:50
望舒 发表于 2021-3-17 20:17
谢谢,我大概看了下应该是我需要的。我先认真学一下再来提问,再次感谢! ...

我一模一样的错,麻烦朋友解决后在这回答一下,谢谢啦
作者: vvt    时间: 2021-3-17 21:33
你需要知道原先作者是用什么操作系统和编译器进行的开发。
尽可能选用和作者相同的平台进行。

通常带有GUI的程序,跨平台是没做好的。(尤其是古老的代码)

你可以试试用 QuickWin 工程类型。看里面有几个函数似乎是 quickwin 的
作者: necrohan    时间: 2021-3-17 22:07
用你的VS2013打开那个dsw文件看看
作者: 望舒    时间: 2021-3-18 16:24
necrohan 发表于 2021-3-17 22:07
用你的VS2013打开那个dsw文件看看

C:\Users\LENOVO\Desktop\问题图\8
打开之说要升级

作者: necrohan    时间: 2021-3-18 22:13
望舒 发表于 2021-3-18 16:24
打开之说要升级

dsw是老的项目文件,保存一个备份,然后打开,里面应该有以前编译的文件列表、编译选项,可以参考
作者: li913    时间: 2021-3-19 11:24
dsw应该是cvf的项目,这个编译器目前不可用,除非换xp系统。
作者: 望舒    时间: 2021-3-21 15:13
vvt 发表于 2021-3-17 21:33
你需要知道原先作者是用什么操作系统和编译器进行的开发。
尽可能选用和作者相同的平台进行。

非常感谢,果然用QUICKWIN就成功了!
之前也用过,但是之前可能没有修正代码的语法错误进而后来又给忘了。非常感谢




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