4

vimでclang completeを使用してCのオートコンプリートをセットアップしようとすると、これまでのところ、.cファイル内にいると、.cを押すとオートコンプリートが発生しctrl+x,uます。ただし、一部の記号のみが表示されます。

組み込まれているヘッダーに含まれる関数は、オート コンプリート ポップアップ ボックスには表示されません。typedef だけが表示されているように見えますか?

ここに画像の説明を入力

プロジェクトの構造は非常に単純です。

$ 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 ヘッダーへのパスを再確認しましたが、正しいです。

何が間違っているのですか?

4

1 に答える 1

2

完了時libclangにエラーを無視して、ユーザーに最長の一致リストを提示することで最善を尽くします。XPLM_APIマクロが定義されていないと思います。ヘッダーですべての関数を宣言するために使用されるため、補完リストには関数が表示されません。の定義を見ると、エラーが発生するXPLMDefs.hと思います(おそらく数回)。libclangPlatform not defined!

プラットフォームを補完用に定義すると機能するはずです。ファイルに追加-DLINすることでこれを行い、補完が機能するようになりました。.clang_complete

そのため、vim や の問題ではないようですがclang_complete、そのような場合に警告が表示されると便利です。

于 2013-12-18T20:24:16.670 に答える