clang と clang-tidy を初めて使用します。
次のような構造のプロジェクトがあります: project/ - build/ - cmake/ - component1/ - src/ - someFile.cpp - someFile2.cpp - someFile.hpp - someFile2.hpp - component2/ - etc... -
project/component1/
clang-tidy を使用して、次のコマンドですべてのファイルを確認します。clang-tidy project/component1/src/* -checks=-*,clang-analyzer-*,-clang-analyzer-alpha*
最終的に次のようなエラーが発生します。 $HOME/project/component1/src/someFile.cpp:18:10: error: 'project/component1/someFile.hpp' file not found [clang-diagnostic-error] \#include "component1/someFile.hpp"
ベストアンサー1
私は clang-tidy に、プレーンなコンパイラ インクルードを使用してそれらを検索するように指示しますが、それらは二重ダッシュ (--) の後に導入する必要があります。また、次の場所には含まれていないため、それを発見するのにしばらく時間がかかりました--help
。
clang-tidy -checks='...' <source0> ... -- -Iblabla/ ...
オプションをもう一度読んでみると、-extra-arg=
パラメータを試すことができますが、私は二重ダッシュのアプローチを使用します。これにより、clang と clang-tidy に与えるすべてのオプションを 1 つのファイルにまとめることができ、両方の場合よりも多くの処理は必要ありません$(cat $file)
。
から:https://clang.llvm.org/extra/clang-tidy/#using-clang-tidy
clang-tidy は LibTooling ベースのツールです。コマンドラインで -- の後にコンパイルオプションを指定することもできます。