Связать Curl с помощью codelite С++

Изменить: я использовал это руководство, и оно решило мою проблему. ! Однако теперь я получаю другую ошибку: 32-make.exe[1]: *** [Debug/main.cpp.o] Error 1 mingw32-make.exe: *** [All] Error 2 API.mk:97: recipe for target 'Debug/main.cpp.o' failed...

Я уже пару часов пытаюсь связать curl с моим проектом С++ в CodeLite. Я полный нуб, но я пробовал много вещей, но это не работает. я пытался пойти в

project settings > linker > и изменить параметры, указав, где находятся мои файлы. Так, например, в "Libraries search path" я написал:

 C:\Users\Mio\Documents\curl-7.46.0-win64\lib\libcurl.lib;
 C:\Users\Mio\Documents\curl-7.46.0-win64\lib\libcurl.lib;
 C:\Users\Mio\Documents\curl-7.46.0-win64\lib\libcurl_a.lib;`

а в libraries я написал

 C:\Program Files (x86)\Dev-Cpp\MinGW64\lib\libcurl.a`

Ошибка, которую я получаю:

 C:/Users/Mio/Documents/test27/API/main.cpp:4:23: fatal error: curl/curl.h: No such file or directory`

Собственный учебник CodeLite предназначен для более старой версии, и я не совсем понимаю, что я должен делать. Пожалуйста помоги!


person Mio Crona    schedule 08.02.2017    source источник
comment
Ознакомьтесь с этим ответом и настройте свой Include Paths перед компиляция.   -  person Steeve    schedule 08.02.2017
comment
Я использовал это руководство, и оно решило мою проблему! Однако теперь я получаю другую ошибку: 32-make.exe[1]: *** [Debug/main.cpp.o] Error 1 mingw32-make.exe: *** [All] Error 2 API.mk:97: recipe for target 'Debug/main.cpp.o' failed...   -  person Mio Crona    schedule 08.02.2017


Ответы (2)


Во-первых, важно понять, какой компилятор вы используете. Судя по всему, вы загрузили бинарники libcurl для Visual Studio, но сообщение об ошибке, которое вы получаете от компилятора, похоже на сообщение MinGW...

Итак, первый шаг — загрузить правильный пакет для MinGW.

Далее эта ошибка:

C:/Users/Mio/Documents/test27/API/main.cpp:4:23: фатальная ошибка: curl/curl.h: нет такого файла или каталога

Это ошибка компилятора, а не компоновщика. Это означает, что gcc не может найти заголовочный файл curl/curl.h. Вы должны добавить путь к папке include в project settings->Compiler->Include paths CodeLite.

После этого перейдите в project settings->Linker->Library search paths и добавьте путь к каталогу lib (который содержит файл библиотеки)

Наконец, добавьте имя библиотеки в project settings->Linker->Libraries

Приложены скриншоты из примера рабочего пространства, использующего curl и MinGW (в этом примере я использовал переменную среды для определения базовой папки папки libcurl):

введите здесь описание изображения

введите здесь описание изображения

введите здесь описание изображения

person Eran    schedule 09.02.2017

В моем случае предыдущий ответ помог мне так далеко, что я все скомпилировал и связал, но при запуске самого приложения я получил ошибку: 0xc0000135. Если вы запустите свой exe не из Codelite, а прямо из папки Debug, он точно скажет вам, какие DLL отсутствуют. В моем случае это были файлы OpenSSL, которые я получил после установки OpenSSL для Windows (x64 lite), затем скопировал их в папку Debug, и теперь все работает нормально.

person Andrei Kravtsov    schedule 16.02.2017