当我使用编译时,我会得到这些错误(当它启动链接器进程时),这些错误应该位于我认为添加到工作区中的.lib文件中:
X30XFULL.OBJ : error LNK2001: unresolved external symbol _BCON@4
X30XFULL.OBJ : error LNK2001: unresolved external symbol _RCON@16根据我搜索过的地方,康柏Visual (Version 6,FYI)找不到库文件.
我的主要问题是,我如何使用它们?可能还有其他丢失的文件吗?以下是我尝试过的:
一个小背景:
我有这个Fortran可执行文件,上一次编译是在90年代。从我的研究来看,这是一个16位编译的机器,不能在64位的机器上工作。
最初的代码至少可以收集到16位编译库。没有最初的编译器,我们就无法理解如何看待或使用它们。我们还有一个(半)等价的库文件,它实际上是一个.FOR文件。据我们所知,BPROP.FOR和BPROP.LIB可能是同一个文件(它们位于相同的源代码区域)。如果我们使用BPROP.FOR文件,程序可以编译,但是我们的结果有问题,我们已经跟踪到在该文件中使用/收集/处理的信息。
然而,我们确实有32位版本(我们认为)是相同的.lib文件。所以,我们尝试使用它,这就是编译Fortran可执行文件的方法,这会导致上面的错误。
发布于 2012-10-31 13:41:15
找到答案了至少对我来说是这样。我不知道如果其他人找到这些答案,推断会有多容易,但我就是这样解决的。
对于旧的Fortran库,我所要做的就是将它们添加到具有所有不同fortran文件(.FOR等)的.FOR视图中。我不需要像我提到的那样在设置中添加这些库,但这也会起作用。除此之外,我不需要添加任何额外的声明或类似的内容。
我们确实发现,调用这些.LIB文件的函数(BCON和RCON)需要额外的参数。我发现这一点的唯一方法是检查使用这些libaries的其他源代码,所以如果有人像我一样被困住了,那将是一个很好的起点。或者,如果您可以在十六进制编辑器中读取.lib文件,则可以生成函数及其参数。
当然,如果您有上述参数的原始源代码,那就更好了。:)
https://stackoverflow.com/questions/13095093
复制相似问题