Итак, ранее я попытался скомпилировать выражение lambda в C++, мой компилятор по умолчанию был gcc-4.4, и, как вы знаете, он не поддерживает лямбда-выражения, поэтому я попытался установить более новую версию gcc- 4.7, установка работала успешно, но после этого я не смог скомпилировать ни одну из моих программ.downgrading g ++ после смены версии
Я попытался восстановить предыдущую версию gcc, но варианты обновлений для меня не работают.
-errors:
In file included from /usr/local/include/htmlcxx/html/ParserDom.h:5:0,
from urlServer.cpp:7:
/usr/local/include/htmlcxx/html/tree.h:118:21: error: ‘ptrdiff_t’ does not name a type
urlServer.cpp: In lambda function:
urlServer.cpp:148:29: error: ‘urlHash’ is not captured
urlServer.cpp:148:38: error: return-statement with a value, in function returning 'void' [-fpermissive]
In file included from /usr/local/lib/gcc/i686-pc-linux- gnu/4.7.1/../../../../include/c++/4.7.1/algorithm:63:0,
from urlServer.cpp:5:
/usr/local/lib/gcc/i686-pc-linux- gnu/4.7.1/../../../../include/c++/4.7.1/bits/stl_algo.h: In instantiation of ‘_InputIterator std::__find_if(_InputIterator, _InputIterator, _Predicate, std::input_iterator_tag) [with _InputIterator = std::istream_iterator<std::basic_string<char> >; _Predicate = writeAllLinks(std::list<std::basic_string<char> >)::<lambda(const string&)>]’:
/usr/local/lib/gcc/i686-pc-linux- gnu/4.7.1/../../../../include/c++/4.7.1/bits/stl_algo.h:4490:41: required from ‘_IIter std::find_if(_IIter, _IIter, _Predicate) [with _IIter = std::istream_iterator<std::basic_string<char> >; _Predicate = writeAllLinks(std::list<std::basic_string<char> >)::<lambda(const string&)>]’
urlServer.cpp:148:39: required from here
usr/local/lib/gcc/i686-pc-linux- gnu/4.7.1/../../../../include/c++/4.7.1/bits/stl_algo.h:146:7: error: void value not ignored as it ought to be
Я использую Debian
вопрос: как я могу восстановить предыдущую версию GCC?
Я знаю, что этот вопрос уже задан, но я не смог найти ответ, и я пробовал все, что мог, спасибо;
Когда вы говорите, что вы «не смогли скомпилировать ни одну из моих программ», не могли бы вы рассказать об этом? Какие ошибки вы получаете? Может быть, было бы проще помочь вам решить эту проблему, чем вернуться к старому компилятору? –
Ваше название предлагает другой вопрос, что то, что на самом деле спрошено (новый компилятор «не работает» по сравнению с предыдущим компилятором). –
ty для вашей помощи, ребята, я обновил вопрос и поставил ошибки, в которые я попал; htmlcxx - это библиотека для извлечения url из html-файла. – Reda