在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.dll
和libcurl.lib
。
我在VS 2005中尝试了一个示例项目,我可以执行它。
但我想在C ++ Builder中使用libcurl。
如果我在我的C ++ Builder项目中使用VS 2005中内置的相同库,它会给我链接器错误。
你能帮帮我吗?如何在C ++ Builder项目中使用libcurl库?答案 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 \