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 オプションも渡す必要があることがわかりました。