2013-08-28 4 views
0

Qt Creator에서 코드 완성에 문제가 있습니다. 미리 컴파일 된 헤더 OgreHeaders.h이 있습니다. qmake mkspec unsupported/linux-clang을 사용하여 clang으로 건물을 짓고 있습니다. 프로젝트가 빌드되지만 편집 할 때 코드 힌트가 없습니다. 내 미리 컴파일 된 헤더 #include 지시문이 아닌 -include-pch 컴파일러 옵션을 사용하여 포함되어 있기 때문에 이것이라고 생각합니다. 그래서 Qt Creator 코드 모델은 그것을 찾지 못합니다. #ifdefs 또는 #ifndefs에 헤더를 래핑하는 방법에 대한 아이디어가 있었기 때문에 구문 분석하지만 컴파일되지 않았습니다. Qt Creator가 미리 컴파일 된 헤더 코드 완성

#ifdef PCH 
#include <OgreHeaders.h> 
#endif 

은 어떻게 든 Qt는 창조주의 코드 모델에 #define PCH 있지만 컴파일러의 하나에 필요합니다. 또는 그 반대로하십시오. QMAKE_CXX_FLAGSDEFINES을 사용해 보았지만 Qt Creator가 그걸 선택합니다.

통합에 대해서는 this 기사를 보았습니다. 입니다 기사의 하단에있는 것은 말한다 : 당신이 "프로젝트"모드로 갈 때 당신은 "사용자 정의"헤더를 선택할 수있는

, 당신은 "코드 완성 설정"과 별도의 탭이 표시됩니다. 이 옵션을 선택하면 코드 모델에서이 헤더를 캐시로 사용하지만 컴파일러는이를 사용하지 않습니다.

Qt Creator (2.8.0)에는 해당 옵션이 없습니다. 어떤 아이디어가이 문제를 해결하려면 어떻게해야합니까? 아니면 git에서 clang 통합을 사용하여 Qt Creator를 빌드해야합니까?

답변

0

넣어 두

#define PCH 

또는

#undef PCH 

PROJECT_NAME는 Qt는 창조주에서 프로젝트의 이름을 프로젝트의 루트 디렉토리에 PROJECT_NAME.config 파일에 - 단지 PROJECT_NAME.filesPROJECT_NAME.includes있다.

+0

이렇게하면 Qt Creator 코드 완성'#defined' 또는 컴파일러의? – Nazar554

+0

예,이 파일은 Qt Creator 코드 완성 및 강조 표시에서만 사용됩니다. 그것은 전처리 기/컴파일러에 전달되지 않습니다. – hluk