如何解决 C++Builder 中的链接器错误 "LIBCURL.LIB contains invalid OMF record, type 0x21 (possibly COFF) "?

How to solve linker error "LIBCURL.LIB contains invalid OMF record, type 0x21 (possibly COFF) " in C++Builder?

我在 Embarcadero C++ Builder XE 中尝试使用 libcurl 时遇到链接器错误:

[ILINK32 Error] Error: 'C:...\CURL-7.52.1\BUILD\WIN32\VC8\DLL RELEASE\LIBCURL.LIB' contains invalid OMF record, type 0x21 (possibly COFF)

我在 Visual Studio 2005 年构建了 curl-7.52.1 库。

建造后我可以得到libcurl.dlllibcurl.lib

我在 VS 2005 中尝试了一个示例项目,我能够执行它。

但我想在 C++Builder 中使用 libcurl。

如果我在我的 C++Builder 项目中使用在 VS 2005 中构建的同一个库,它会给我链接器错误。

你能帮帮我吗?如何在我的 C++Builder 项目中使用 libcurl 库?

C++Builder 的 .lib 文件格式 (OMF) 不同于 MS Visual Studio 的格式 (COFF)。您应该能够使用 C++Builder 的 IMPLIB command-line utility:

从 DLL 生成兼容的 .lib 文件
implib.exe -a LIBCURL_BCB.LIB LIBCURL.DLL

然后将此 LIBCURL_BCB.LIB 文件添加到您的项目 而不是 您在 [=33] 中编译 libcurl 时获得的 .lib 文件=]++.

-a 开关用于为 __cdecl 函数生成下划线。

在我的电脑上,我只有 C++Builder 5,它的 implib.exe 位于这个文件夹中:

C:\Program Files (x86)\Borland\CBuilder5\Bin\