나는 컴파일하고 잘 실행 다음과 같은 매우 간단한 응용 프로그램이 있습니다이상한 오류 추가 사용법 #include <string>
편집 : 진짜 문제
int main() {
return 0;
}
으로의 혼란을 종료 simpilar로 예제를 변경 내가 #include <string>
를 추가 (심지어 표준 : : 문자열을 참조하지) 곧, 그것은 컴파일에 실패하고 난 다음 오류 얻을 :
/usr/include/c++/4.1.2/bits/allocator.h:82 error: expected template-name before '<' token
약 456 개의 기타 유사한 오류가 있습니다.
아이디어가 있으십니까? 감사!
UPDATE :
라인 (82) /usr/include/c++/4.1.2/bits/allocator.h
의 참조 오류의 위치에있는 템플릿 __glibcxx_base_allocator
. 해당 템플릿은 bits/c++allocator.h
에 정의되어 있습니다. 해당 파일을 찾기 위해 시스템을 검색 할 때 3 건의 조회가 발생하지만 그 중 아무 것도 예상대로 /usr/include/c++/4.1.2/bits/
에 없습니다.
버전 3.1.6, 4.1.1 및 4.3.2가 있지만 포함되지 않은 4.1.2는 포함되어 있습니다. 어떤 파일이 사용되고 있는지 확실하지 않지만 (알 수없는 파일에 대해서는 오류가 발생하지 않음) 문제가 발생할 수 있습니다.
덧붙여서 : 나는'g ++ hello.cc -o hello'를 사용하여 컴파일하고 아무것도 만들지 않는다. – steveo225
실패한 전체 파일을 게시 할 수 있습니까? – yan
'g ++ --version'의 출력은 무엇입니까? – Johnsyweb