如何解决链接器错误" LIBCURL.LIB包含无效的OMF记录,类型0x21(可能是COFF)"在C ++ Builder中?

时间:2017-02-10 08:54:40

标签: c++ curl c++builder libcurl c++builder-xe

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

  

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

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

我可以在构建后获得libcurl.dlllibcurl.lib

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

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

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

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

1 个答案:

答案 0 :(得分:2)

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文件添加到项目,而不是在VC ++中编译{​​{1}}时获得的.lib文件。

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

在我的计算机上,我只有C ++ Builder 5,并且在此文件夹中找到了__cdecl

  

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