如果我启动我的cppcheck我得到以下错误:cppcheck ListLib.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
where cfg:cfg:/ usr/bin/cfg
whereis 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 +++
Run Code Online (Sandbox Code Playgroud)
更改为/ usr/bin目录:检查/.../ListLib.c
cppcheck --check-config ListLib.c:给出了同样的错误,如果在/ usr/bin /中执行它会正常工作
对于登陆此页面的人来说,我可以使用我的homefolder中的cfg文件:
make SRCDIR = build CFGDIR =〜/ cppcheck_cfg然后offcourse
sudo make install
pra*_*ugs 20
我也遇到了同样的问题.
解:
$ make SRCDIR=build CFGDIR=/usr/share/cppcheck/
$ sudo make install CFGDIR=/usr/share/cppcheck/
Run Code Online (Sandbox Code Playgroud)
得到了cppcheck社区成员的建议,并得知'make install'还需要传递CFGDIR选项.
小智 1
使用 来检查权限,file /usr/bin/cfg/std.cfg以确保您有权访问您认为应该尝试读取的配置文件。
然后,如果失败,请在 strace 下运行 cppcheck 以查找失败的系统调用:strace -o /tmp/strace.out cppcheck ListLib.c。
| 归档时间: |
|
| 查看次数: |
13010 次 |
| 最近记录: |