生成obj文件与fortran obj链接出错:无法解析的外部符号

💡 原文中文,约1200字,阅读约需3分钟。
📝

内容提要

某工业软件需要使用Intel Fortran(f77)的obj文件来链接旧有功能,但f77难用。可以使用C++来链接,使用makefile编译。使用Rust编译时出现链接错误,可能是Rust引用了奇怪的符号。尝试使用lib文件进行链接,成功解决问题。

🎯

关键要点

  • 某工业软件需要使用Intel Fortran(f77)的obj文件来链接旧有功能,但f77难用。
  • 可以使用C++来链接,提供了相应的makefile和C++代码示例。
  • 使用Rust编译时出现链接错误,提示无法解析的外部符号,可能是Rust引用了奇怪的符号。
  • 尝试使用lib文件进行链接,最终成功解决了问题。
  • 生成的C静态库文件较大,但功能正常。

延伸问答

如何使用C++链接Intel Fortran的obj文件?

可以使用C++链接Intel Fortran的obj文件,提供的makefile示例可以编译相关代码并生成静态库。

使用Rust编译时出现的链接错误是什么?

使用Rust编译时,可能会出现无法解析的外部符号错误,提示Rust引用了奇怪的符号。

如何解决Rust链接时的外部符号错误?

尝试使用lib文件进行链接,可能会成功解决外部符号无法解析的问题。

生成的C静态库文件有什么特点?

生成的C静态库文件较大,但功能正常,可以用于链接。

为什么Intel Fortran(f77)难以使用?

Intel Fortran(f77)被认为难用,可能是因为其语法复杂或调试困难。

如何编译Rust代码以生成静态库?

使用命令rustc --crate-type=staticlib --emit=obj编译Rust代码以生成静态库。

🏷️

标签

➡️

继续阅读