链接到旧版库:预制makefile中的-lgfortranbegin

时间:2018-10-26 08:53:38

标签: c++ makefile gfortran legacy-code

尝试编译一些研究人员开发的程序时遇到了麻烦,这些程序应该以非常精确的方式进行傅立叶变换和其他有用的操作scientific paper here,而同时提供了所需的所有文件和makefile。

我使用gcc和Windows10(18.04)上可用的ubuntu版本,因此,我链接了程序所需的所有库文件,并调用了预制的makefile(fftw,lapack,gfortran ..),一切正常,直到在这里,但是一旦我尝试编译,我就会收到错误消息:

/usr/bin/ld: cannot find -lgfortranbegin
collect2: error: ld returned 1 exit status
Makefile:38: recipe for target 'furian_main' failed
make: *** [furian_main] Error 1

经过一些研究,看来libfortranbegin是旧版代码,不再可用(来源:here)..

所以我的问题是:如果没有这个旧版库,我是否可以编译我的程序(索姆族人说我们可以摆脱这个库,但我不明白他们的工作.. here ) 还是应该做一些更新或使用另一个库?

感谢您的时间和考虑:)

1 个答案:

答案 0 :(得分:0)

解决此问题的常用方法如下:

  • 删除-lgfortranbegin
  • 检查新的链接错误,并查看原始源代码中的哪个源文件实现了此功能
  • 将此源文件添加到您的存储库和构建中,然后返回到步骤2。

请注意,它最终仍可能无法正常工作,但希望您将能够使用缺少的符号。