链接器错误“包含无效的OMF记录”

时间:2013-07-17 08:31:08

标签: c++builder builder coff omf

在C ++ Builder中,当我编译时,我得到了

[ilink32 Error] Error: 'C:\PATH\TO\A\LIB\INCLUDED\IN\THE\PROJECT\ALIBRARY.LIB' contains invalid OMF record, type 0x21 (possibly COFF)

当我使用实用程序coff2omf转换.lib时,新的lib会丢失重要的函数。

1 个答案:

答案 0 :(得分:6)

C ++ Builder不能使用其他编译器中的.lib文件,只能使用自己的文件。

如果.lib文件是DLL的导入库,请使用C ++ Builder的命令行IMPLIB工具直接从DLL创建新的.lib文件。

如果.lib文件是一个静态库(包含实际代码),C ++ Builder的命令行COFF2OMF工具 MAY 能够转换库,但不能保证。这实际上取决于库实际使用的代码类型。如果无法进行转换,则必须将.lib文件包装到DLL中,该DLL是在创建.lib文件的同一编译器中编写的。然后,您可以在C ++ Builder中使用DLL。