【发布时间】:2010-10-20 20:59:15
【问题描述】:
当我在 Windows 上使用 MinGW 将 .o 文件与 LD 链接器链接时,它给了我错误“file.o:文件无法识别:文件格式无法识别”。我试过用 cygwin instread 来做,但同样的事情发生了。有什么建议吗?
【问题讨论】:
当我在 Windows 上使用 MinGW 将 .o 文件与 LD 链接器链接时,它给了我错误“file.o:文件无法识别:文件格式无法识别”。我试过用 cygwin instread 来做,但同样的事情发生了。有什么建议吗?
【问题讨论】:
很可能你有一个链接器不理解的格式的目标文件。有很多不同的格式:COFF、OMF、ELF(不胜枚举……)
幸运的是,有一个免费工具可以让您从一种格式转换为另一种格式。它还可以让您了解对象格式的内部结构,并告诉您对象文件以哪种格式编码。
http://www.agner.org/optimize/#objconv
那个小小的命令行实用程序解决了我曾经遇到的所有对象格式问题。它甚至可以反汇编库、目标文件、DLL 和可执行文件。
【讨论】: