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.