在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会丢失重要的函数。
答案 0 :(得分:6)
C ++ Builder不能使用其他编译器中的.lib文件,只能使用自己的文件。
如果.lib文件是DLL的导入库,请使用C ++ Builder的命令行IMPLIB工具直接从DLL创建新的.lib文件。
如果.lib文件是一个静态库(包含实际代码),C ++ Builder的命令行COFF2OMF工具 MAY 能够转换库,但不能保证。这实际上取决于库实际使用的代码类型。如果无法进行转换,则必须将.lib文件包装到DLL中,该DLL是在创建.lib文件的同一编译器中编写的。然后,您可以在C ++ Builder中使用DLL。