Использование команды scan-build для анализа кода clang

Я установил scan-build/clang версии 2.9 на рабочий стол Ubuntu. Я создаю свой исходный код на С++, используя make. По его словам, scan-build будет анализировать проект, который создается с использованием make, если вы даете

scan-build make 

to

но после make я вижу сообщение

scan-build: Removing '/tmp/scan-build-2013-10-16-1' because it contains no reports.

Также попробовал

scan-build --use-c++=/use/bin/clang++ make

Q1 - Что я делаю неправильно/отсутствует здесь. Как использовать scan-build для анализа всех исходных файлов.

Q2 - Можно ли использовать clang++ --analyze myfile.cpp для анализа одного исходного файла. Но он дает ошибку о том, что заголовочный файл не найден "фатальная ошибка" my.h

какова опция анализа clang, чтобы указать его в папку с файлами заголовков.

Ответ 1

Как и для Q2, вы должны иметь возможность использовать:

scan-build clang++ -c myfile.cpp

или что вы предложили:

clang++ --analyze myfile.cpp

но вам нужно убедиться, что компилятор знает обо всех включениях и библиотеках (вы должны иметь возможность успешно компилировать myfile.cpp в объектный файл без анализа). Особенно это касается каталогов -I.

Существует также опция -o для scan-build, которая указывает целевой каталог для файлов отчетов HTML. Подкаталоги будут созданы по мере необходимости для представления отдельных "прогонов" анализатора. Если этот параметр не указан, каталог создается в /tmp для хранения отчетов, как вы уже знаете.

Другим полезным вариантом будет -v (verbose), который должен печатать любые ошибки, с которыми может столкнуться анализатор.

И последнее, но не менее важное: вы должны использовать анализ с отладочными сборками, где оптимизация отключена, но что более важно, когда символы не разделяются.

Не уверен, если это поможет, дайте мне знать...