cppcheck std.cfg error no encontrado cuando el archivo std.cfg está disponible
(5)
Me encontré con el mismo problema al ejecutar cppCheck GUI en un directorio después de compilarlo en una Mac con Qt Creator y ejecutar la versión de GUI. Resolví el problema copiando "std.cfg" en la carpeta de la aplicación: Contents / MacOS. Haga clic con el botón derecho en la aplicación cppcheck-gui para acceder a los contenidos. Parece que está bien ponerlo al lado del archivo cppcheck-gui en la misma carpeta que debe estar donde primero se verifica. El archivo "std.cfg" se puede encontrar en la carpeta cfg.
Si ejecuto mi cppcheck me aparece el siguiente error: cppcheck ListLib.c (información) Error al cargar std.cfg. La instalación de Cppcheck no funciona, vuelva a instalarla. El binario Cppcheck se compiló con CFGDIR configurado en "/ usr / bin / cfg" y, por lo tanto, buscará std.cfg en esa ruta.
Sistema: opensuse13, cppcheck versión: cppcheck-1.64, compilado con: make SRCDIR = build CFGDIR = / usr / bin / cfg HAVE_RULES = yes
comprobando si el archivo está allí: ls / usr / bin / cfg: gtk.cfg posix.cfg qt.cfg sdl.cfg std.cfg windows.cfg
whereis cfg: cfg: / usr / bin / cfg
whereis std.cfg: std: /usr/bin/cfg/std.cfg
cat std: /usr/bin/cfg/std.cfg me da la salida de ese archivo
Stacktrace:
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 +++
el cambio al directorio / usr / bin funciona: Comprobando /.../ListLib.c
cppcheck --check-config ListLib.c: da el mismo error y funciona bien si lo hago en / usr / bin /
Okey para las personas que aterrizan en esta página, lo tengo trabajando con los archivos cfg en mi carpeta de inicio:
make SRCDIR = build CFGDIR = ~ / cppcheck_cfg y luego offcourse
sudo make install
Tuve el mismo problema hace unos días y lo resolví cambiando la forma en que ejecuto makefile en cppcheck.
Yo uso la versión de Linux Red Hat y la versión cppcheck es 1.65.
make SRCDIR=build CFGDIR=/home/###/####/cppcheck-1.65/cfg/ && make install
Realmente no profundicé en los detalles, pero el makefile de cppcheck parece que están limpiando obj y construyen cppcheck incluyendo cfg location mediante el primer comando make
make SRCDIR=build CFGDIR=/home/###/####/cppcheck-1.65/cfg/ &&
y el segundo comando make distribuiría cppcheck en / usr / bin / location.
make install
Ahora todo lo que tienes que hacer es configurar bash.
Verifique los permisos, con el file /usr/bin/cfg/std.cfg
, para asegurarse de que tiene permisos para acceder al archivo de configuración que cree que debería estar intentando leer.
Luego, si falla eso, ejecute cppcheck bajo strace para encontrar la llamada del sistema que está fallando: strace -o /tmp/strace.out cppcheck ListLib.c
.
Yo también enfrenté el mismo problema.
Solución:
$ make SRCDIR=build CFGDIR=/usr/share/cppcheck/
$ sudo make install CFGDIR=/usr/share/cppcheck/
Recibí sugerencias de los miembros de la comunidad cppcheck y llegó a saber que ''make install'' también requiere que la opción CFGDIR sea aprobada.
make SRCDIR=build CFGDIR=/usr/bin/cfg HAVE_RULES=yes
make install CFGDIR=/usr/bin/cfg