Fortran Coder

查看: 34766|回复: 11
打印 上一主题 下一主题

[求助] 关于"无法解析的外部符号”系列问题

[复制链接]

12

帖子

3

主题

0

精华

入门

F 币
47 元
贡献
33 点
跳转到指定楼层
楼主
发表于 2021-3-17 18:32:15 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 望舒 于 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.虽然没签保密协定,但我课题似乎还是又一定保密性,我可以发截图,但不能把所有代码发出来到论坛上。如果有大牛愿意帮我看看这些代码怎么弄,可以私下联系,我可以给予一定报酬。


分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

12

帖子

3

主题

0

精华

入门

F 币
47 元
贡献
33 点
沙发
 楼主| 发表于 2021-3-17 18:37:00 | 显示全部楼层
我也考虑过自己编而不用源代码,但是STAB是前苏联集众人之力搞出来的玩意儿,并非我一个人可以胜任的工作量。
现在就是导师发过来的东西就是跑不动,咱也不敢说,咱也不敢问。

12

帖子

3

主题

0

精华

入门

F 币
47 元
贡献
33 点
板凳
 楼主| 发表于 2021-3-17 20:17:20 | 显示全部楼层
li913 发表于 2021-3-17 19:26
FAQ之 常见错误分析
http://fcode.cn/guide-36-1.html,这里有怎么解决的解答。

谢谢,我大概看了下应该是我需要的。我先认真学一下再来提问,再次感谢!

12

帖子

3

主题

0

精华

入门

F 币
47 元
贡献
33 点
地板
 楼主| 发表于 2021-3-18 16:24:49 | 显示全部楼层
necrohan 发表于 2021-3-17 22:07
用你的VS2013打开那个dsw文件看看

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

12

帖子

3

主题

0

精华

入门

F 币
47 元
贡献
33 点
5#
 楼主| 发表于 2021-3-21 15:13:10 | 显示全部楼层
vvt 发表于 2021-3-17 21:33
你需要知道原先作者是用什么操作系统和编译器进行的开发。
尽可能选用和作者相同的平台进行。

非常感谢,果然用QUICKWIN就成功了!
之前也用过,但是之前可能没有修正代码的语法错误进而后来又给忘了。非常感谢
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-3 04:58

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表