主题:求助:编译过了,但是生成出现问题
killmath
[专家分:0] 发布于 2012-06-29 12:43:00
1>NSEQ.obj : error LNK2005: _MAIN__ 已经在 MAIN1.obj 中定义
1>OTHER.obj : error LNK2019: 无法解析的外部符号 _DABS,该符号在函数 _ONSOKU 中被引用
1>Debug\2DFLAME.exe : fatal error LNK1120: 1 个无法解析的外部命令
如上,用的是VS2008+intel fortran,说我MAIN重复……我哪来的main啊,囧
谢谢砖家解释……
回复列表 (共7个回复)
沙发
cgl_lgs [专家分:21040] 发布于 2012-06-29 13:10:00
就是你的:
program XXX
多于一个了。
板凳
killmath [专家分:0] 发布于 2012-06-29 14:40:00
谢谢回复,我又试着找了一下了,并没有多出哪里定义program啊……建的project也是空project,所以感到很奇怪,不应该有main重复的情形啊?
3 楼
臭石头雪球 [专家分:23030] 发布于 2012-06-29 14:45:00
重新新建工程,然后把代码复制过去。
4 楼
killmath [专家分:0] 发布于 2012-06-29 14:54:00
谢谢,已经试过呢,还是不行。莫名其妙的就是说多main,5555.
而且DABS不是默认函数库里的么,竟然说无法解析。
5 楼
臭石头雪球 [专家分:23030] 发布于 2012-06-29 15:39:00
那你把代码帖出来
MAIN1.for 里面有主函数。
NSEQ.for 里面也有主函数。
而且主函数并不一定以 Program 开头。没有被包含在子程序里的代码段,都被认为是主函数。
我决定你终点检查 NSEQ 文件。
另外,如果 dabs 找不到,你在 OTHER.for 中的 ONSOKU 函数里加一个定义就可以了。
Real(8) , Intrinsic :: dabs
6 楼
killmath [专家分:0] 发布于 2012-07-01 17:41:00
非常感谢!我再试试吧。代码实在是太长了,子程序就近千行~ ~
7 楼
killmath [专家分:0] 发布于 2012-07-01 17:53:00
发现问题了,77版的子程序代码里面多了个END!!!害我找了好几天了,555。
谢谢~
我来回复