Eclipse CDT의 Linux GCC 툴체인으로 C ++ 표준 라이브러리 헤더를 해결하는 방법은 무엇입니까?


12

우분투 12.04 LTS에서 Eclipse CDT 플러그인을 설치하고 새로운 hello world 프로젝트를 열어 모든 것을 테스트했습니다. 프로젝트를 만들 때 "Linux GCC"라는 유일한 툴체인을 선택했습니다

그러나 프로젝트가 생성되면

#include<iostream>
#include<cstdlb>

해결되지 않았습니다. 따라서,와 선 coutendl사용할 수 없으며 그것을 찾을 수 없습니다 std.

using namespace std; 또한 문제를 일으키고 있습니다.

어떻게 얻을 수 #include사용하여 지원 코드, 표준 라이브러리 헤더에 대한 지침이 인식 std네임 스페이스를?


Project> 후에도 이러한 오류가 지속 Build All됩니까?
Eliah Kagan

2
Mayne 이것은 어리석은 질문이지만 C 프로젝트가 아닌 C ++ 프로젝트로 특별히 새 프로젝트를 만들었습니까?
bazz

답변:


4

같은 문제가 발생하면 프로젝트가 빌드되었지만 코드 완성 / 코드 강조 표시가 실패한다고 생각하십니까? 유용한 메모를 찾았습니다. 내가 한 일은 다음과 같습니다.

  • 프로젝트-> 속성

  • C / C ++ 일반

  • 경로 및 기호

  • 적절한 언어를 선택하십시오

  • "추가"를 클릭하고 컴파일러 버전 특정 디렉토리를 추가하십시오.

언어 'GNU C ++'의 경우 다음을 추가했습니다.

  /usr/include
  /usr/include/c++/4.6
  /usr/include/c++/4.6/bits
  /usr/include/i386-linux-gnu
  /usr/include/i386-linux-gnu/bits
  /usr/include/c++/4.6/debug
  /usr/include/c++/4.6/i686-linux-gnu
  /usr/include/c++/4.6/i686-linux-gnu/bits

"GNU C"의 경우 다음을 추가했습니다.

  /usr/include
  /usr/include/i386-linux-gnu
  /usr/include/i386-linux-gnu/bits

TBH, 위의 모든 디렉토리가 실제로 필요한 것은 아니라고 생각합니다 (아마도 '비트'디렉토리를 제거 할 수 있습니다). 그러나 위의 목록은 당시에 저에게 효과적이었습니다.

이제 eclipse.org에서 Eclipse Indigo (버전 3.7.2)를 사용하고 있으며 올바른 include 디렉토리를 자동으로 찾아서 추가합니다. 목록은 저와 다릅니다 :

/usr/include/c++/4.6
/usr/include/c++/4.6/i686-linux-gnu
/usr/include/c++/4.6/backward
/usr/lib/gcc/i686-linux-gnu/4.6/include
/usr/local/include
/usr/lib/gcc/i686-linux-gnu/4.6/include-fixed
/usr/include/i386-linux-gnu
/usr/include

시스템에 실제로 존재하는 include 디렉토리 만 추가하십시오. ;-)


글쎄, 이것은 실제로 작동하지 않습니다-실제로 데비안 스트레치 64 비트를 사용하고 있습니다. 그러나 나는 당신의 제안을 내 플랫폼에 적용했습니다.
einpoklum
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.