6

在我编译时在 C++ Builder 中我得到

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

当我用实用程序转换 .lib 时coff2omf,新的 lib 失去了重要的功能。

4

1 回答 1

11

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

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

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

于 2013-07-17T21:05:45.473 回答