2009-03-31 7 views
1

cmake로 이클립스 프로젝트를 만들었습니다. qt와 함께 vtk를 사용합니다. 다음 디렉토리 구조는 다음과 같습니다cmake 프로젝트에서 일식 인덱서 문제가 발생했습니다.

parent_dir: 
    source - source.h, source.cpp 
    build - this is where the .project resides 

나는 작업 공간 디렉토리 /경로/부모과 일식을 발사했습니다.

http://www.cmake.org/Wiki/Eclipse_CDT4_Generator에 설명 된 지침을 준수합니다. 모든 것이 잘되지만 탐색 기능이 작동하지 않습니다. 즉, 일식은 source.h이 아직 색인 생성되지 않았다는 경고를 내 보냅니다.

또한 자동 완성은 qt 및 vtk 관련 클래스에서 작동하지 않습니다. qt 및 vtk 포함이 포함 된 Project | Properties를 확인했습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 내 프로젝트에서 일식에서 자동 완성 및 네비게이션을 사용하고 싶습니다. 우분투 8.04 64 비트에서 일식 가니메데를 사용하고 있습니다. 위키에 따르면 사전

답변

2

에서

들으, 당신은 소스 트리 외부 빌드 트리를 가져야한다.

빌드 디렉토리가 이클립스 상위 디렉토리에 를 가리키는 자원을 연결 한 프로젝트를 로드 할 수 없습니다 때문에 소스 디렉토리의 서브 디렉토리 경우이 링크 된 리소스가 만들어지지 않습니다. 따라서 빌드 디렉토리를 자식으로 이 아닌 소스 디렉토리의 형제로 생성하는 것이 좋습니다.

이 같은 것을 수행해야합니다 :

mkdir /home/user/parent_dir_build 
cd /home/user/parent_dir_build 
cmake /home/user/parent_dir 
1

이 알아낼 나에게 꽤했다. "Build"디렉토리가 프로젝트 디렉토리의 일부가 아니라는 것을 확인해야합니다. 즉, "CMakeLists.txt"가 들어있는 최상위 디렉토리입니다.

제 경우에는 "dir/tree/project_dir"과 "dir/tree/project_dir/src"가 있습니다. 그러면 "dir/tree/build_dir"빌드 디렉토리를 만들어야합니다.

#!/bin/sh 
mkdir -p $1_build/Release 
mkdir -p $1_build/Debug 
cmake -E chdir $1_build/Release cmake -G"Eclipse CDT4 - Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ../../$1 
cmake -E chdir $1_build/Debug cmake -G"Eclipse CDT4 - Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug ../../$1 

호출 인수 "project_dir"와 "DIR/나무"에서 스크립트 :

다음, 나는 디버그 및 릴리스 두 프로젝트를 만드는 작은 스크립트를 만들었습니다.

그런 다음 Eclipse에서 "파일"-> "가져 오기"-> "일반"-> "기존 프로젝트를 작업 영역으로"를 클릭하십시오. "dir/tree/$ 1_build"디렉토리를 지정하면 자동으로 두 프로젝트를 인식합니다.

이제 릴리스 및 디버그 프로젝트가 Eclipse에로드되고 코드 도우미 (코드 완성)와 같은 멋진 옵션과 오류를 두 번 클릭하여 빠른 디버깅을 수행 할 수 있습니다.

Eclipse에서 일부 파일 필터를 추가하여 프로젝트 트리에서 CMake 파일을 제거 할 수 있습니다.