私は正しい方向に私を指しているため、ロバートCrovellaに感謝したいと思います。
恒久的な解決策:
#ifndef __INTELLISENSE__
#include <cub/cub.cuh>
// And other troublesome libraries or code-blocks....
#endif
のVisual Studio自体ではなくコンパイル時に、ファイルを解析すると、Visual Studioの__INTELLISENSE__
マクロがのみ定義されます。したがって、上記のコードブロック内のものはIntelliSenseアルゴリズムでチェックされません。
回避策:(この問題を解決するために、私の第一の試みは、無視することができます)。
ステップ#1:
のVisual StudioのError List
ウィンドウの変更オプションで Build + IntelliSense
Build Only
へのステップ#2
Visual Studioでに行く:
Tools > Options > Text Editor > C/C++ > Advanced
と
True
に
False
から
Disable Error Reporting
を変更
説明:
これにより、IntelliSenseのエラーチェック機能が無効になり、拡張機能によって問題が解決されます。この部分的な解決策は私にコンパイル(ビルド)出力のみに依存させることになりますが、それは問題ではありません。
私の言ったように、この解決策は、の回避策に似ています。深刻なまたは重大なペナルティなしでIntelliSenseの機能ではなく、恒久的な修正。 しかし、それはうまく動作します。
短所:私の現在のプロジェクトで
- は、ラッパーな機能があり、それらの機能は時々オートコンプリートによって検出されていません。
- 合計エラー数がIntelliSenseの制限に達した場合、IntelliSenseは機能しなくなります。(編集:「重大なまたは重大なペナルティなしで」ウィンドウからまっすぐに行きました...)。
cubはcudaを使用し、cudaはintellisenseと互換性がなく、テンプレートライブラリであるため、単一のcubedヘッダーファイルには多くのコードが含まれます。インテリセンスのエラーとその対処方法について議論しているSO CUDAのタグには、ここではあらゆる種類の質問があります。また、VS2015にこれらのタイプのエラーを報告させないようにすることもできます。 –
はい、最初の草案を読んだ後、あなたの質問に編集しました。私は最初のコメントからその声明を削除しました。 –
@RobertCrovella VS2015にこれらのエラーを報告しないようにするにはどうすればよいですか? IntelliSenseの電源を切ると思いますか? – cukier9a7b5