Cppcheck std.cfg не найдена ошибка при наличии файла std.cfg

Если я запустил свой 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

whereis cfg: cfg:/usr/bin/cfg

whereis std.cfg: std:/usr/bin/cfg/std.cfg

cat std:/usr/bin/cfg/std.cfg дает мне результат из этого файла

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 +++

изменение каталога /usr/bin работает:  Проверка /.../ListLib.c

cppcheck --check-config ListLib.c: дает ту же ошибку и работает очень хорошо, если я делаю это в /usr/bin/

Okey для людей, приземляющихся на этой странице, я начал работать с файлами cfg в моей домашней папке:

сделать SRCDIR = построить CFGDIR = ~/cppcheck_cfg, а затем отменить sudo make install

Ответы

Ответ 1

У меня тоже была проблема.

Решение:

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

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

Получил предложения от членов сообщества cppcheck и узнал, что "make install" также требует передачи опции CFGDIR.

Ответ 2

make SRCDIR=build CFGDIR=/usr/bin/cfg HAVE_RULES=yes

make install CFGDIR=/usr/bin/cfg

Ответ 3

У меня была одна и та же проблема несколько дней назад и я решил изменить способ запуска makefile на cppcheck.

Я использую версию Linux Red Hat, а версия cppcheck - 1.65.

make SRCDIR=build CFGDIR=/home/###/####/cppcheck-1.65/cfg/ && make install

Я не очень разбирался в деталях, но makefile cppcheck выглядел так, как будто они очищают obj и строят cppcheck, включая местоположение cfg, с помощью команды make make

make SRCDIR=build CFGDIR=/home/###/####/cppcheck-1.65/cfg/ &&

а вторая команда make будет распространять cppcheck в /usr/bin/location.

make install

Теперь вам нужно только установить bash.

Ответ 4

Проверьте разрешения с помощью file /usr/bin/cfg/std.cfg, чтобы убедиться, что у вас есть разрешения на доступ к конфигурационному файлу, который, по вашему мнению, он должен читать.

Затем, если это не так, запустите cppcheck под strace, чтобы найти системный вызов, который не работает: strace -o /tmp/strace.out cppcheck ListLib.c.

Ответ 5

У меня возникла проблема с запуском GUI cppCheck в каталоге после его компиляции на Mac с Qt Creator и запуском версии GUI. Я решил проблему, скопировав "std.cfg" в папку приложения: Содержание /MacOS Чтобы получить доступ к содержимому, вы должны щелкнуть правой кнопкой мыши приложение cppcheck-gui. Кажется, это нормально, чтобы поставить его рядом с файлом cppcheck-gui в той же папке, где он должен быть там, где он сначала проверяет. Файл std.cfg можно найти в папке cfg.