针对遗留库的链接:来自预制makefile的-lgfortranbegin

link against a legacy library: -lgfortranbegin from a premade makefile

本文关键字:-lgfortranbegin makefile 链接      更新时间:2023-10-16

我在试图编译一个由一些研究人员开发的程序时遇到了一些麻烦,该程序本应以非常精确的方式进行傅立叶变换和其他一些有用的运算科学论文的计算,但提供了所需的所有文件和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似乎是一个遗留代码,不再可用(来源:此处(。。

所以我的问题是:我有可能在没有这个遗留库的情况下编译我的程序吗(有些人说我们可以去掉这个库,但我不明白他们在做什么……这里(或者我应该进行一些更新或使用另一个库?

感谢您的时间和考虑:(

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

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

请注意,它最终可能仍然不起作用,但希望您能够找到丢失的符号。