2017-02-10 5 views
0

Я получаю ошибку компоновщика при попытке использовать Libcurl в Embarcadero C++ Builder XE:Как решить ошибку компоновщика «LIBCURL.LIB содержит недопустимую запись OMF, тип 0x21 (возможно, COFF)» в C++ Builder?

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

Я построил curl-7.52.1 библиотеку в Visual Studio 2005.

Я могу получить libcurl.dll и libcurl.lib после здание.

Я попробовал образец проекта в VS 2005, и я могу его выполнить.

Но вместо этого я хочу использовать libcurl в C++ Builder.

Если я использую ту же библиотеку, построенную в VS 2005 в моем проекте C++ Builder, она дает мне ошибку компоновщика.

Не могли бы вы помочь мне? Как я могу использовать библиотеку libcurl в моем проекте C++ Builder?

ответ

1

Формат файла .lib C++ Builder отличается от формата MS Visual Studio (COFF). Вы должны быть в состоянии сделать совместимый .lib файл из библиотеки DLL с помощью C++ Builder IMPLIB command-line utility:

implib.exe -a LIBCURL_BCB.LIB LIBCURL.DLL 

А затем добавьте этот LIBCURL_BCB.LIB файл в проекте вместо файл .lib вы получили при компиляции libcurl в VC++ ,

Коммутатор -a используется для создания символов подчеркивания для функций __cdecl.

На моем компьютере, я только C++ Builder 5, и его implib.exe находится в этой папке:

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

+0

скопировать DLL, а затем выполнить команду заданную вами ::::::: C : \ Program Files (x86) \ Embarcadero \ RAD Studio \ 8.0 \ bin> implib.exe LIBCURL_BCB.lib libcurl.dll. CodeGear Implib Version 3.2.0 Copyright (c) 1991-2009 CodeGear Неустранимая ошибка LIBCURL_BCB.lib: невозможно открыть выходной файл –

+0

@PratikMota, вы, вероятно, находитесь в каталоге только для чтения. Измените dir на ваш проект. –

+0

@ н.м. Да, я взял implib в другую папку и попробовал. Он создал новую библиотеку .............. НО еще какая-то связующая ошибка ... Свойство проекта -> Каталог и условие Включить PAth: - C: \ ..... \ LIBCURLDemo \ curl-7.52.1 \ include Путь библиотеки: - C: \ .... \ LIBCURLDemo \ curl-7.52.1 \ build \ Win32 \ VC8 \ DLL Release Также я добавил библиотеку в проект и удалил "Связано с только название» ================= Но все-таки дает Linker Error [ILINK32 Error] Ошибка: неразрешенный внешний '_curl_global_init' ссылка из C: \ .. .. \ SOURCE \ APPLICATION \ OBJ \ NEWFILE.OBJ ... и т. Д. Как его решить? –

Смежные вопросы