21

cppcheck を起動すると、次のエラーが表示されます: cppcheck ListLib.c (information) Failed to load 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 を実行し、offcourse
sudo make install を実行します

4

6 に答える 6

26

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

解決:

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

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

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

于 2014-10-30T10:07:13.473 に答える
4
make SRCDIR=build CFGDIR=/usr/bin/cfg HAVE_RULES=yes

make install CFGDIR=/usr/bin/cfg
于 2014-08-29T13:43:16.007 に答える
1

を使用してパーミッションをチェックしfile /usr/bin/cfg/std.cfg、読み取ろうとしていると思われる構成ファイルにアクセスするためのパーミッションがあることを確認します。

次に、失敗した場合は、strace の下で cppcheck を実行して、失敗しているシステム コールを見つけますstrace -o /tmp/strace.out cppcheck ListLib.c

于 2014-03-18T17:40:19.367 に答える
0

Qt Creator を使用して Mac でコンパイルし、GUI バージョンを実行した後、ディレクトリで cppCheck GUI を実行すると、同じ問題に遭遇しました。「std.cfg」をアプリケーション フォルダにコピーすることで問題を解決しました: Contents/MacOS 内容にアクセスするには、cppcheck-gui アプリケーションを右クリックする必要があります。最初にチェックする場所でなければならないので、同じフォルダー内の cppcheck-gui ファイルの横に配置しても問題ないようです。「std.cfg」ファイルは cfg フォルダにあります。

于 2017-04-25T22:43:36.753 に答える
0

@prabhugs が言ったように、さらに説明します。github のソース コードcppcheckでは、make 構文は次のようにすることをお勧めします。

$ make SRCDIR=build CFGDIR=cfg HAVE_RULES=yes CXXFLAGS="-O2 -DNDEBUG -Wall -Wno-sign-compare -Wno-unused-function

ここで、「CFGDIR」オプションは、指定できる方向です。例えば:

$ make SRCDIR=build CFGDIR=/usr/share/cppcheck HAVE_RULES=yes CXXFLAGS="-O2 -DNDEBUG -Wall -Wno-sign-compare -Wno-unused-function

そして、次の構文を使用できます。

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

これらのステップの後、cppcheck を楽しむことができると信じています。

于 2019-06-19T06:54:32.200 に答える