1

尝试在 Embarcadero C++ Builder XE 中使用 libcurl 时出现链接器错误:

[ILINK32 错误] 错误:'C:...\CURL-7.52.1\BUILD\WIN32\VC8\DLL RELEASE\LIBCURL.LIB' 包含无效的 OMF 记录,类型 0x21(可能是 COFF)

我已经建立了curl-7.52.1在 Visual Studio 2005 中构建了该库。

我能够得到libcurl.dlllibcurl.lib建立后。

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

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

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

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

4

1 回答 1

3

C++Builder 的.lib文件格式 (OMF) 不同于 MS Visual Studio 的格式 (COFF)。您应该能够.lib使用 C++Builder 的IMPLIB命令行实用程序从 DLL 生成兼容文件:

implib.exe -a LIBCURL_BCB.LIB LIBCURL.DLL

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

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

在我的计算机上,我只有 C++Builder 5,它implib.exe位于以下文件夹中:

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

于 2017-02-10T09:06:32.857 回答