2013-12-18 6 views
4

vim에서 clang complete을 사용하여 C에 대한 자동 완성을 설정하는 중, 지금까지 .c 파일 내에있을 때 ctrl을 누르면 자동 완성이됩니다. + x, u. 그러나 일부 기호 만 표시합니다.vim이 .clang_complete을 찾지 못하는 경우

자동 완성 팝업 상자에는 포함 된 헤더에있는 기능이 표시되지 않습니다. typedef 만 보여주고있는 것 같습니다.

enter image description here

프로젝트 구조는 매우 간단하다 :

-I/.../Libraries/xpSDK/CHeaders/XPLM 

내가 두 번 : 나는 다음이 포함 된 프로젝트 폴더 내부의 .clang_complete 파일을 만들려고

$ tree -ap 
. 
├── [-rwxrw-r--] .clang_complete 
├── [-rwxrw-r--] makefile 
└── [drwxrw-r--] src 
    └── [-rwxrw-r--] FlightControl.c 

1 directory, 3 files 

XPLM 헤더의 경로를 확인했는데 올바른 것입니다.

어떤 아이디어가 잘못 되었나요?

+0

도 포함하려고합니다. -......./ –

+0

시도해도 아무 것도하지 않습니다. –

+0

.clang_complete 파일을 삭제하면 .clang_complete 파일이 파싱되고 있음을 알리는 Pattern not found 오류가 발생합니다. 그러나 왜 아직도, typedefs 만 보았는가? 전혀 기능이 없다. –

답변

2

완료하는 동안 libclang은 오류를 무시하여 사용자에게 가장 긴 일치 목록을 표시하여 최선을 다합니다. 나는 XPLM_API 매크로를 정의하지 않았다고 생각합니다. 헤더의 모든 함수를 선언하는 데 사용되므로 완료 목록에 함수가 표시되지 않습니다. 보고있는 내용은 XPLMDefs.h입니다. libclangPlatform not defined! 오류 (어쩌면 여러 번)라고 생각합니다.

완성을 위해 플랫폼을 정의하는 경우 작동해야합니다. -DLIN.clang_complete 파일에 추가하면 완료됩니다.

그래서 vim이나 clang_complete의 문제가 아닌 것 같습니다. 그런 경우 경고를하는 것이 좋을 것입니다.

+0

신난다. 고쳐 줬다. 감사! ;) –

관련 문제