link 针对遗留库:-lgfortranbegin 来自预制 makefile
link against a legacy library: -lgfortranbegin from a premade makefile
我在尝试编译某个研究人员开发的程序时遇到了一些麻烦,该程序应该以非常精确的方式计算傅里叶变换和其他一些有用的操作scientific paper here,但提供了所有需要的文件和生成文件。
我使用 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)
或者我应该做一些更新或使用另一个库?
感谢您的时间和考虑:)
解决此问题的常用方法如下:
- 删除
-lgfortranbegin
- 检查新的 link 错误并查看原始源代码中的哪个源文件实现了此功能
- 将此源文件添加到您的存储库和构建中,然后返回到第 2 步。
请注意,它可能最终仍然无法正常工作,但希望您能够拥有缺少的符号。
我在尝试编译某个研究人员开发的程序时遇到了一些麻烦,该程序应该以非常精确的方式计算傅里叶变换和其他一些有用的操作scientific paper here,但提供了所有需要的文件和生成文件。
我使用 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) 或者我应该做一些更新或使用另一个库?
感谢您的时间和考虑:)
解决此问题的常用方法如下:
- 删除
-lgfortranbegin
- 检查新的 link 错误并查看原始源代码中的哪个源文件实现了此功能
- 将此源文件添加到您的存储库和构建中,然后返回到第 2 步。
请注意,它可能最终仍然无法正常工作,但希望您能够拥有缺少的符号。