2013-12-18 89 views
4

在嘗試使用vim中的clang complete設置C的自動完成,並且到目前爲止,當我在一個.c文件中時,當我點擊了ctrl + x,ü。但它只顯示一些符號。vim似乎找不到.clang_complete

包含標題中的函數都不會出現在自動完成彈出框中。看來只有typedefs正在顯示?

enter image description here

這個項目的結構非常簡單:

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

1 directory, 3 files 

我試圖創建項目文件夾內的.clang_complete文件,包含以下內容:

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

我加倍檢查了XPLM頭的路徑,它是正確的。

任何想法最新怎麼了?

+0

試着也包括-I ../../ –

+0

試過了,什麼也沒做。 –

+0

剛剛刪除.clang_complete以查看會發生什麼,並且導致發現模式未找到錯誤,這意味着我的.clang_complete文件正在被解析。但爲什麼仍然只是看到typedefs,根本沒有功能! –

回答

2

在完成期間libclang試圖通過忽略錯誤向用戶展示最長的匹配列表來盡力而爲。我想你沒有XPLM_API宏定義。由於它用於聲明頭文件中的每個函數,因此在完成列表中不會看到任何函數。看在XPLMDefs.h定義我認爲libclang得到Platform not defined!錯誤(甚至幾次)。

它應該工作,如果你定義你的平臺完成,我做了這個-DLIN.clang_complete文件和完成現在工作。

所以它似乎並不是vim或clang_complete的問題,雖然在這種情況下會有很好的警告。

+0

太棒了,修復了它。謝謝! ;) –