Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> подключение curlpp и codeblocks 
:(
    Опции темы
wester
Дата 15.8.2011, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009

Репутация: нет
Всего: 13



Приветствую. Осваиваю С++, столкнулся с банальной проблемой подключения curlpp к codeblocks.
По шагам что я делал. 
Скачал отсюда  curlpp-0.7.3.tar.gz;libcurlMD.zip;curlppMD.zip.
открыл Project->Build Options. В Linker Settings добавил путь до \libcurlppMD.lib и \libcurlMD.lib, а так же в Search Directories ->Linker к папкам где находятся .h. 
при компилировании простейшей программы.
Код

#include <curlpp/cURLpp.hpp>
int main()
{
    return 0;
}

появляется ошибка: C:\Sources\C++\printStatus\main.cpp|2|error: curlpp/cURLpp.hpp: No such file or directory.

Что делаю не так ?

PM MAIL   Вверх
ller
Дата 15.8.2011, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 4.8.2008
Где: г. Таганрог

Репутация: 2
Всего: 4



Добавь "/путь/к/заголовкам", параметр (Include path) в свойствах проекта, компилятор.  Ну соответственно линкеру объясни где лежат библиотеки и какие подключать
PM MAIL   Вверх
wester
Дата 15.8.2011, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009

Репутация: нет
Всего: 13



ller
примерно так и сделал. 
скриншоты http://pix.am/bp/u5VE.png http://pix.am/bp/dPFO.png
а вот как находятся файлы на диске.

Код

C:\USERS\RIO17\DESKTOP\BIN
├───curl
│       curl.h
│       libcurlMD.dll
│       libcurlMD.lib

└───curlpp
    │   config.h.in
    │   config.h.sample
    │   config.win32.h
    │   cURLpp.hpp
    │   Easy.hpp
    │   Easy.inl
    │   Exception.hpp
    │   Form.hpp
    │   Info.hpp
    │   Info.inl
    │   Infos.hpp
    │   libcurlppMD.dll
    │   libcurlppMD.exp
    │   libcurlppMD.lib
    │   Makefile.am
    │   Makefile.in
    │   Multi.hpp
    │   Option.hpp
    │   Option.inl
    │   OptionBase.hpp
    │   Options.hpp
    │   Types.hpp
    │
    └───internal
            buildconfig.h
            CurlHandle.hpp
            CurlHandle.inl
            global.h
            Makefile.am
            Makefile.in
            OptionContainer.hpp
            OptionContainer.inl
            OptionContainerType.hpp
            OptionList.hpp
            OptionSetter.hpp
            OptionSetter.inl
            SList.hpp


PM MAIL   Вверх
ller
Дата 15.8.2011, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 4.8.2008
Где: г. Таганрог

Репутация: 2
Всего: 4



Код

#include <cURLpp.hpp>
int main()
{
    return 0;
}


Попробуй так. Так как путь curlpp уже включён

да и кстати, библиотеки в GCC немного не так подключаются.
на закладке search directory в закладке Linker, укажи пути к либам bin\curl, bin\curlpp
а на закладке Linker settings укажи подключаемые библиотеки.
Причем опусти префикс lib и суфикс .a, кстати о  суфиксах? Какой компилятор используется? Просто у gcc суфикс у бибилиотек по умолчанию .a или .so

Это сообщение отредактировал(а) ller - 15.8.2011, 21:22
PM MAIL   Вверх
wester
Дата 15.8.2011, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009

Репутация: нет
Всего: 13



попробовал 
..\..\..\Users\rio17\Desktop\bin\curlpp\cURLpp.hpp|34|error: curl/curl.h: No such file or directory|
..\..\..\Users\rio17\Desktop\bin\curlpp\cURLpp.hpp|68|error: 'CURL_GLOBAL_ALL' was not declared in this scope|
||=== Build finished: 2 errors, 0 warnings ===|

PM MAIL   Вверх
ller
Дата 15.8.2011, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 4.8.2008
Где: г. Таганрог

Репутация: 2
Всего: 4



попробуй глобальные пути задать
PM MAIL   Вверх
wester
Дата 15.8.2011, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009

Репутация: нет
Всего: 13



ller
используется GCC компилятор 
Цитата

на закладке search directory в закладке Linker, укажи пути к либам bin\curl, bin\curlpp
а на закладке Linker settings укажи подключаемые библиотеки.

это указал. На скриншотах верно показано как я указал или надо по-другому было ?
Цитата

попробуй глобальные пути задать 

?? всмысле заменить относительный путь к хидерам на абсолютный ? попробовал, не помогло.
PM MAIL   Вверх
ller
Дата 15.8.2011, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 4.8.2008
Где: г. Таганрог

Репутация: 2
Всего: 4



При компиляции посмотри что пишет.
Должна быть строка типа такого
g++ -c  "/home/lex/codelite/Arachnid/Gears/src/gear_app.cpp" -g  -o ./Debug/src_gear_app.o -I. -I. -I/opt/boost_1_45_0 -I/opt/Arachnid/libs/sdl/include -I/opt/Arachnid/libs/glm -I/opt/Arachnid/engine 

и поле -I должны идти твои пути
PM MAIL   Вверх
wester
Дата 15.8.2011, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009

Репутация: нет
Всего: 13



ller
не подскажешь где включить подобный вывод в codeblocks ? полазил по гуглу, но ничего не нашел :(


mingw32-g++.exe -Wall -fexceptions  -g    -IC:\Users\rio17\Desktop\bin\curlpp\  -c C:\Sources\C++\printStatus\main.cpp -o obj\Debug\main.o


Это сообщение отредактировал(а) wester - 15.8.2011, 23:03
PM MAIL   Вверх
ller
Дата 15.8.2011, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 4.8.2008
Где: г. Таганрог

Репутация: 2
Всего: 4



 -IC:\Users\rio17\Desktop\bin\curlpp\
тут смущает последний слэш. 
попробуй путь добавить
 -IC:\Users\rio17\Desktop\bin


Это сообщение отредактировал(а) ller - 15.8.2011, 23:52
PM MAIL   Вверх
wester
Дата 15.8.2011, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009

Репутация: нет
Всего: 13



Вообщем исправил несколько ошибок со своей стороны. Конкретно сейчас папка bin выглядит вот так.
Код

C:\USERS\RIO17\DESKTOP\BIN
├───curl
│       curl.h
│       curlbuild.h
│       curlrules.h
│       curlver.h
│       easy.h
│       libcurlMD.dll
│       libcurlMD.lib
│       mprintf.h
│       multi.h
│       stdcheaders.h
│       typecheck-gcc.h

├───curlpp
│   │   config.h.in
│   │   config.h.sample
│   │   config.win32.h
│   │   cURLpp.hpp
│   │   Easy.hpp
│   │   Easy.inl
│   │   Exception.hpp
│   │   Form.hpp
│   │   Info.hpp
│   │   Info.inl
│   │   Infos.hpp
│   │   libcurlppMD.dll
│   │   libcurlppMD.exp
│   │   libcurlppMD.lib
│   │   Makefile.am
│   │   Makefile.in
│   │   Multi.hpp
│   │   Option.hpp
│   │   Option.inl
│   │   OptionBase.hpp
│   │   Options.hpp
│   │   Types.hpp
│   │
│   ├───curl
│   │       curl.h
│   │       curlbuild.h
│   │       curlrules.h
│   │       curlver.h
│   │       easy.h
│   │       libcurlMD.dll
│   │       libcurlMD.lib
│   │       mprintf.h
│   │       multi.h
│   │       stdcheaders.h
│   │       typecheck-gcc.h
│   │
│   └───internal
│           buildconfig.h
│           CurlHandle.hpp
│           CurlHandle.inl
│           global.h
│           Makefile.am
│           Makefile.in
│           OptionContainer.hpp
│           OptionContainer.inl
│           OptionContainerType.hpp
│           OptionList.hpp
│           OptionSetter.hpp
│           OptionSetter.inl
│           SList.hpp

└───utilspp
    │   clone_ptr.hpp
    │   EmptyType.hpp
    │   Functors.hpp
    │   Makefile.am
    │   Makefile.in
    │   NonCopyable.hpp
    │   NullType.hpp
    │   Singleton.hpp
    │   SmartPtr.hpp
    │   ThreadingFactoryMutex.hpp
    │   ThreadingFactoryMutex.inl
    │   ThreadingSingle.hpp
    │   ThreadingSingle.inl
    │   TypeList.hpp
    │   TypeTrait.hpp
    │
    ├───functor
    │       Binder.hpp
    │       Functor.hpp
    │       FunctorHandler.hpp
    │       FunctorImpl.hpp
    │       Makefile.am
    │       Makefile.in
    │       MemFunHandler.hpp
    │
    └───singleton
            CreationStatic.hpp
            CreationStatic.inl
            CreationUsingNew.hpp
            CreationUsingNew.inl
            LifetimeDefault.hpp
            LifetimeDefault.inl
            LifetimeLibrary.hpp
            LifetimeLibrary.inl
            LifetimeWithLongevity.hpp
            LifetimeWithLongevity.inl
            Makefile.am
            Makefile.in
            PrivateMembers.hpp
            PrivateMembers.inl
            SingletonHolder.hpp
            SingletonHolder.inl



лог сборки проекта 
Код

-------------- Build: Debug in printStatus ---------------

mingw32-g++.exe -LC:\Users\rio17\Desktop\bin  -o bin\Debug\printStatus.exe obj\Debug\main.o    C:\Users\rio17\Desktop\bin\curl\libcurlMD.lib C:\Users\rio17\Desktop\bin\curlpp\libcurlppMD.lib 
obj\Debug\main.o: In function `main':
C:/Sources/C++/printStatus/main.cpp:13: undefined reference to `_imp___ZN6curlpp7CleanupC1Ev'
C:/Sources/C++/printStatus/main.cpp:16: undefined reference to `_imp___ZN6curlpp4EasyC1Ev'
C:/Sources/C++/printStatus/main.cpp:23: undefined reference to `_imp___ZN6curlpp4Easy7performEv'
C:/Sources/C++/printStatus/main.cpp:23: undefined reference to `_imp___ZN6curlpp4EasyD1Ev'
C:/Sources/C++/printStatus/main.cpp:23: undefined reference to `_imp___ZN6curlpp4EasyD1Ev'
C:/Sources/C++/printStatus/main.cpp:23: undefined reference to `_imp___ZN6curlpp7CleanupD1Ev'
C:/Sources/C++/printStatus/main.cpp:23: undefined reference to `_imp___ZN6curlpp7CleanupD1Ev'
obj\Debug\main.o: In function `~OptionTrait':
C:/Users/rio17/Desktop/bin/curlpp/Option.hpp:147: undefined reference to `_imp___ZTVN6curlpp11OptionTraitISsL10CURLoption10002EEE'
C:/Users/rio17/Desktop/bin/curlpp/Option.hpp:147: undefined reference to `_imp___ZTVN6curlpp11OptionTraitISsL10CURLoption10002EEE'
obj\Debug\main.o: In function `OptionTrait':
C:/Users/rio17/Desktop/bin/curlpp/Option.inl:124: undefined reference to `_imp___ZTVN6curlpp11OptionTraitISsL10CURLoption10002EEE'
obj\Debug\main.o: In function `~Option':
C:/Users/rio17/Desktop/bin/curlpp/Option.inl:71: undefined reference to `_imp___ZTVN6curlpp6OptionISsEE'
C:/Users/rio17/Desktop/bin/curlpp/Option.inl:70: undefined reference to `_imp___ZN6curlpp10OptionBaseD2Ev'
C:/Users/rio17/Desktop/bin/curlpp/Option.inl:70: undefined reference to `_imp___ZN6curlpp10OptionBaseD2Ev'
C:/Users/rio17/Desktop/bin/curlpp/Option.inl:71: undefined reference to `_imp___ZTVN6curlpp6OptionISsEE'
C:/Users/rio17/Desktop/bin/curlpp/Option.inl:70: undefined reference to `_imp___ZN6curlpp10OptionBaseD2Ev'
C:/Users/rio17/Desktop/bin/curlpp/Option.inl:70: undefined reference to `_imp___ZN6curlpp10OptionBaseD2Ev'
C:/Users/rio17/Desktop/bin/curlpp/Option.inl:71: undefined reference to `_imp___ZTVN6curlpp6OptionISsEE'
C:/Users/rio17/Desktop/bin/curlpp/Option.inl:70: undefined reference to `_imp___ZN6curlpp10OptionBaseD2Ev'
C:/Users/rio17/Desktop/bin/curlpp/Option.inl:70: undefined reference to `_imp___ZN6curlpp10OptionBaseD2Ev'
obj\Debug\main.o: In function `Option':
C:/Users/rio17/Desktop/bin/curlpp/Option.inl:42: undefined reference to `_imp___ZN6curlpp10OptionBaseC2E10CURLoption'
C:/Users/rio17/Desktop/bin/curlpp/Option.inl:42: undefined reference to `_imp___ZTVN6curlpp6OptionISsEE'
C:/Users/rio17/Desktop/bin/curlpp/Option.inl:44: undefined reference to `_imp___ZN6curlpp10OptionBaseD2Ev'
obj\Debug\main.o:main.cpp:(.rdata$_ZTVN6curlpp11OptionTraitISsL10CURLoption10002EEE[vtable for curlpp::OptionTrait<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, (CURLoption)10002>]+0x10): undefined reference to `curlpp::OptionBase::operator<(curlpp::OptionBase const&) const'
obj\Debug\main.o:main.cpp:(.rdata$_ZTVN6curlpp6OptionISsEE[vtable for curlpp::Option<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]+0x10): undefined reference to `curlpp::OptionBase::operator<(curlpp::OptionBase const&) const'
obj\Debug\main.o: In function `~UnsetOption':
C:/Users/rio17/Desktop/bin/curlpp/internal/../Exception.hpp:143: undefined reference to `_imp___ZN6curlpp12RuntimeErrorD2Ev'
C:/Users/rio17/Desktop/bin/curlpp/internal/../Exception.hpp:143: undefined reference to `_imp___ZN6curlpp12RuntimeErrorD2Ev'
obj\Debug\main.o:C:/Users/rio17/Desktop/bin/curlpp/Option.inl:96: undefined reference to `_imp___ZN6curlpp11UnsetOptionC1EPKc'
obj\Debug\main.o:C:/Users/rio17/Desktop/bin/curlpp/Option.inl:148: undefined reference to `_imp___ZN6curlpp11UnsetOptionC1ERKSs'
obj\Debug\main.o:C:/Users/rio17/Desktop/bin/curlpp/Option.inl:114: undefined reference to `_imp___ZN6curlpp11UnsetOptionC1ERKSs'
obj\Debug\main.o:C:/Users/rio17/Desktop/bin/curlpp/internal/CurlHandle.inl:47: undefined reference to `_imp___ZN6curlpp20libcurlRuntimeAssertEPKc8CURLcode'
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 0 seconds)
30 errors, 0 warnings


ller
те же ошибки сборки, что привел выше.


вот исходник, на котором возникают ошибки. Взят с оф. сайта 
Код

#include <curlpp/curlpp.hpp>
#include <curlpp/Easy.hpp>
#include <curlpp/Options.hpp>


using namespace curlpp::options;

int main(int, char **)
{
  try
  {
    // That's all that is needed to do cleanup of used resources (RAII style).
    curlpp::Cleanup myCleanup;

    // Our request to be sent.
    curlpp::Easy myRequest;

    // Set the URL.
    myRequest.setOpt<Url>("http://example.com");

    // Send request and get a result.
    // By default the result goes to standard output.
    myRequest.perform();
  }

  catch(curlpp::RuntimeError & e)
  {
    std::cout << e.what() << std::endl;
  }

  catch(curlpp::LogicError & e)
  {
    std::cout << e.what() << std::endl;
  }

  return 0;
}



Это сообщение отредактировал(а) wester - 16.8.2011, 00:03
PM MAIL   Вверх
ller
Дата 16.8.2011, 00:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 4.8.2008
Где: г. Таганрог

Репутация: 2
Всего: 4



теперб он скомпилил, но не линкует. Нужно библиотеки подключить. cURL собран для gcc?
потому что gcc библиотеки имеют вид MinGW/lib/liblargeint.a

Это сообщение отредактировал(а) ller - 16.8.2011, 00:07
PM MAIL   Вверх
wester
Дата 16.8.2011, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009

Репутация: нет
Всего: 13



скорее всего нет. Как его скомпилировать ?
PM MAIL   Вверх
ller
Дата 16.8.2011, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 4.8.2008
Где: г. Таганрог

Репутация: 2
Всего: 4



http://www.gknw.net/mirror/curl/win32/curl...vel-mingw32.zip
к примеру вот. Но тут вроде просто cURL без плюсовой обертки

А вот ее придется скорее всего компилировать

Это сообщение отредактировал(а) ller - 16.8.2011, 00:15
PM MAIL   Вверх
boostcoder
Дата 16.8.2011, 00:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



wester, а какая невероятная идея, заставила тебя скопировать хидеры в каталог бинарей? smile 
PM WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1015 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.