首页 >后端开发 >C++ >如何在不丢失库依赖项的情况下链接 Fortran 和 C 二进制文件?

如何在不丢失库依赖项的情况下链接 Fortran 和 C 二进制文件?

Linda Hamilton
Linda Hamilton原创
2024-10-26 03:28:28933浏览

 How to Link Fortran and C   Binaries Without Missing Library Dependencies?

链接 Fortran 和 C 二进制文件:解决库不匹配

当开发涉及 C 和 Fortran 代码的项目时,有必要链接生成的二进制文件一起创建一个有凝聚力的程序。但是,尝试单独使用 g 或 gfortran 编译此类项目可能会因缺少库依赖项而导致错误。

要解决这些问题,必须使用适当的链接标志来指定所需的库

链接 C 和 Fortran 二进制文件的解决方案

链接涉及 C 和 Fortran 的项目时,请按照以下步骤操作:

  • 使用 g 编译 C 源代码: g -c main.cpp -o main.o
  • 使用 gfortran 编译 Fortran 源代码: gfortran -c print_hi.f90 -o print_hi.o
  • 使用 g 链接编译后的目标文件 : g main.o print_hi.o -o main -lgfortran

该命令将在链接时包含必要的 Fortran 库(-lgfortran),从而解决未定义的问题单独使用 g 时遇到的引用错误。

替代方法

如果您更喜欢使用 gfortran 进行链接,可以通过传递 -lstdc 标志来实现相同的结果:

gfortran main.o print_hi.o -o main -lstdc

此标志将在链接期间合并所需的 C 库(-lstdc ),解决仅使用 gfortran 时面临的未定义引用。

通过利用适当的链接标志,您可以成功地将 C 和 Fortran 二进制文件组合成一个功能齐全的程序。

以上是如何在不丢失库依赖项的情况下链接 Fortran 和 C 二进制文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn