2015-05-12 3 views
0

Я добрая новичок в C++ и использовании github. Я хочу использовать функции cURL в C++. Поэтому я сначала разложил curlcpp (by JosephP91) из github, а затем выполнил инструкции из своего README.txt.ошибка cURLcpp при компиляции источника

Теперь я получаю сообщение об ошибке при выполнении

make # -j2 

(с или без -j2 не имеет никакого значения).

Ошибка:

[ 12%] Building CXX object src/CMakeFiles/curlcpp.dir/curl_easy.cpp.o 
In file included from /home/user/.git/curlcpp/src/curl_easy.cpp:6:0: 
/home/user/.git/curlcpp/include/curl_easy.h:276:31: error: ‘CURLOPT_OBSOLETE72’ was not declared in this scope 
     CURLCPP_DEFINE_OPTION(CURLOPT_OBSOLETE72, long); /* OBSOLETE, do not use! */ 
          ^
/home/user/.git/curlcpp/include/curl_easy.h:47:33: note: in definition of macro ‘CURLCPP_DEFINE_OPTION’ 
    template <> struct option_t<opt> {\ 
           ^
/home/user/.git/curlcpp/include/curl_easy.h:47:36: error: template argument 1 is invalid 
    template <> struct option_t<opt> {\ 
            ^
/home/user/.git/curlcpp/include/curl_easy.h:276:9: note: in expansion of macro ‘CURLCPP_DEFINE_OPTION’ 
     CURLCPP_DEFINE_OPTION(CURLOPT_OBSOLETE72, long); /* OBSOLETE, do not use! */ 
     ^
make[2]: *** [src/CMakeFiles/curlcpp.dir/curl_easy.cpp.o] Error 1 
make[1]: *** [src/CMakeFiles/curlcpp.dir/all] Error 2 
make: *** [all] Errors 2 

Спасибо, ребята заранее за помощь мне!

EDIT:

Выход

cmake 

Выход:

-- The C compiler identification is GNU 4.8.2 
-- The CXX compiler identification is GNU 4.8.2 
-- Check for working C compiler: /usr/bin/cc 
-- Check for working C compiler: /usr/bin/cc -- works 
-- Detecting C compiler ABI info 
-- Detecting C compiler ABI info - done 
-- Check for working CXX compiler: /usr/bin/c++ 
-- Check for working CXX compiler: /usr/bin/c++ -- works 
-- Detecting CXX compiler ABI info 
-- Detecting CXX compiler ABI info - done 
-- Found CURL: /usr/lib/x86_64-linux-gnu/libcurl.so (found suitable version "7.35.0", minimum required is "7.28.0") 
-- Configuring done 
-- Generating done 
-- Build files have been written to: /home/user/.git/curlcpp/build 
+0

Можете ли вы дать выход cmake, я протестировал его с репозиторием JosephP91, и он скомпилирован для меня отлично, – izissise

+0

спасибо за быстрый ответ! я добавил вывод – walkslowly

+0

Я могу воспроизвести проблему в ubuntu, я думаю, проблема в версии libcurl, я собираюсь обновиться и вернуться к вам – izissise

ответ

1

Вам необходимо обновить Libcurl FRON версии 7.35.0 до 7.37.1 на Ubuntu, Libcurl 7.31 доступна на утопический репозиторий (http://packages.ubuntu.com/utopic/libcurl4-nss-dev).

Вы можете использовать APT-получить обновление, выполнив:

echo "deb http://archive.ubuntu.com/ubuntu/ utopic main restricted" | sudo tee /etc/apt/sources.list 
apt-get update 
apt-get upgrade libcurl4-nss-dev 

, а затем повторить CMake и сделать, и он должен собрать просто отлично.

+0

Спасибо большое! Это решило проблему! Но первая команда, которую вы предоставили, не работала для меня (без diff с sudo), поэтому я сделал это следующим образом: «echo» deb http://archive.ubuntu.com/ubuntu/ utopic main limited »| sudo tee -a /etc/apt/sources.list '(первая резервная копия sources.list) – walkslowly

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