cppcheck

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