Cppcheckを起動すると、次のエラーが発生します。cppcheckListLib.c(情報)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
whereis 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ファイルで機能するようになりました。
sRCDIR = build CFGDIR =〜/ cppcheck_cfgを作成してから、オフコースにします
Sudo make install
私も同じ問題に直面しました。
解決:
$ make SRCDIR=build CFGDIR=/usr/share/cppcheck/
$ Sudo make install CFGDIR=/usr/share/cppcheck/
Cppcheckコミュニティメンバーから提案を得て、「makeinstall」にもCFGDIRオプションを渡す必要があることを知りました。
make SRCDIR=build CFGDIR=/usr/bin/cfg HAVE_RULES=yes
make install CFGDIR=/usr/bin/cfg
数日前に同じ問題が発生し、cppcheckでmakefileを実行する方法を変更することで解決しました。
Linux Red Hatバージョンを使用していますが、cppcheckバージョンは1.65です。
make SRCDIR=build CFGDIR=/home/###/####/cppcheck-1.65/cfg/ && make install
私は実際には詳細を掘り下げませんでしたが、cppcheckのmakefileは、最初のmakeコマンドでobjをクリアし、cfgの場所を含むcppcheckをビルドしているように見えます
make SRCDIR=build CFGDIR=/home/###/####/cppcheck-1.65/cfg/ &&
2番目のmakeコマンドは、cppcheckを/ usr/bin /の場所に配布します。
make install
今あなたがしなければならないのはbashをセットアップすることです。
file /usr/bin/cfg/std.cfg
を使用してアクセス許可を確認し、読み取ろうとしていると思われる構成ファイルにアクセスするためのアクセス許可があることを確認します。
次に、失敗した場合は、straceでcppcheckを実行して、失敗しているシステムコールを見つけます:strace -o /tmp/strace.out cppcheck ListLib.c
。
Qt Creatorを使用してMacでコンパイルし、GUIバージョンを実行した後、ディレクトリでcppCheckGUIを実行すると同じ問題が発生しました。 「std.cfg」をアプリケーションフォルダにコピーすることで問題を解決しました:Contents/MacOSコンテンツにアクセスするには、cppcheck-guiアプリケーションを右クリックする必要があります。最初にチェックする場所と同じフォルダにあるcppcheck-guiファイルの横に置いても問題ないようです。 「std.cfg」ファイルは、cfgフォルダーにあります。
@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
そして、あなたはこのsytaxを使うことができます:
$ Sudo make install CFGDIR=/usr/share/cppcheck/
これらのステップの後、あなたはcppcheckを楽しむことができると信じています。