std.cfg ファイルが利用可能なのに cppcheck std.cfg が見つからないというエラーが発生する 質問する

std.cfg ファイルが利用可能なのに cppcheck std.cfg が見つからないというエラーが発生する 質問する

cppcheck を起動すると、次のエラーが発生します: cppcheck ListLib.c (information) std.cfg の読み込みに失敗しました。Cppcheck のインストールが壊れています。再インストールしてください。Cppcheck バイナリは、CFGDIR を "/usr/bin/cfg" に設定してコンパイルされているため、そのパスで std.cfg を検索します。

システム: opensuse13、cppcheck バージョン: cppcheck-1.64、コンパイル: make SRCDIR=build CFGDIR=/usr/bin/cfg HAVE_RULES=yes

ファイルが存在するかどうかを確認しています: ls /usr/bin/cfg : gtk.cfg posix.cfg qt.cfg sdl.cfg std.cfg windows.cfg

cfgの場所: cfg: /usr/bin/cfg

std.cfg の場所: std: /usr/bin/cfg/std.cfg

cat std: /usr/bin/cfg/std.cfg を実行すると、そのファイルからの出力が表示されます。

スタックトレース:

lstat("/home/.../ListLib.c", {st_mode=S_IFREG|0644, st_size=4568, ...}) = 0
stat("/home/.../ListLib.c", {st_mode=S_IFREG|0644, st_size=4568, ...}) = 0
open("std.cfg", O_RDONLY)               = -1 ENOENT (No such file or directory)
open("cfg/std.cfg", O_RDONLY)           = -1 ENOENT (No such file or directory)
write(2, "(information) Failed to load std"..., 213) = 213
write(2, "\n", 1)                       = 1
exit_group(1)                           = ?
+++ exited with 1 +++

/usr/bin ディレクトリへの変更は機能します: /.../ListLib.c をチェックしています

cppcheck --check-config ListLib.c: 同じエラーが発生しますが、/usr/bin/ で実行すると正常に動作します。

このページにアクセスした人のために、ホームフォルダ内の cfg ファイルで動作を確認しました:

make SRCDIR=build CFGDIR=~/cppcheck_cfg としてから、もちろん
sudo make install とします。

ベストアンサー1

私も同じ問題に直面しました。

解決:

$ make SRCDIR=build CFGDIR=/usr/share/cppcheck/

$ sudo make install CFGDIR=/usr/share/cppcheck/

cppcheck コミュニティのメンバーから提案を受け、「make install」では CFGDIR オプションも渡す必要があることがわかりました。

おすすめ記事