그래서 이전에 C ++로 람다 식을 컴파일하려고했는데 기본 컴파일러는 gcc-4.4 였고 람다 식을 지원하지 않는다는 것을 알고 있으므로 최신 버전의 gcc-4.7을 설치하려고했지만 성공적으로 설치되었지만 내 프로그램을 컴파일 할 수 없었습니다.
이전 버전의 gcc를 복구하려고했지만 업데이트 대안이 작동하지 않습니다.
-오류 :
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
나는 데비안을 사용하고있다
질문 : 이전 버전의 gcc를 어떻게 복구 할 수 있습니까?
이 질문이 이미 질문 된 것을 알고 있지만 답을 찾을 수 없었고 가능한 모든 것을 시도했습니다. 감사합니다.
1) Linux 배포판의 패키지 관리자를 사용하여 패키지를 다시 설치하십시오. 도구에는 수리 패키지 또는 기타 유사한 옵션과 같은 것이 있어야합니다. 유효한 binutils / gcc / libc / g ++ / libg ++ 조합이 필요하다는 것을 잊지 마십시오. 배포에 필요한 모든 패키지가 포함 된 개발 용 메타 패키지가 포함되어있을 수 있습니다.
2) 여러 버전의 컴파일러를 병렬로 설치할 수 있습니다. 구성 옵션에 --prefix =를 제공하기 만하면됩니다. 버전에는 /opt/linux-gnu-gcc4.xx를 사용합니다. / opt 경로를 사용하는 것은 배포 패키지와 충돌하지 않는 일반적인 방법입니다.
3) 어떤 프로그램도 컴파일 할 수 없다는 문제는 좋은 문제 설명이 아닙니다. 나에게 호환되지 않는 헤더 문제에 라이브러리 헤더가 혼합되어 있다고 들립니다. 훨씬 더 자세한 오류 설명 없이는 아무도 당신이 무엇을하는지 이해할 수 없습니다. 하지만 1)부터 시작해야합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다