2015-08-03 3 views
-1

Я пытаюсь использовать PCLint с C++. Я использую только библиотеку заголовков Eigen, которая определена как каталог include в моем файле cmake. Я попробовал следующую команду:ПК Lint + Собственная библиотека

lint-nt.exe std.lnt -i"pathToEigenLibrary" "listOfFileToLint" 

проблема, я понятия не имею, что я должен написать в моем std.lnt, что LNT игнорировать ошибку на библиотеке Эйгеном. Я пробовал:

-wlib(0) 
-libh("pathToEigenLibrary") 
-libdir("pathToEigenLibrary") 

У кого-нибудь есть опыт?

Я получаю много ошибок, как:

\Eigen\Eigen\src\Core\util\XprHelper.h 337 Error 1048: expected a constant expression 

Eigen\Eigen\src\Core\util\XprHelper.h 279 Error 1048: expected a constant expression 

While instantiating struct Eigen::internal::nested<Eigen::DiagonalProduct<<1>,<2>,<3>>> at File Eigen\Eigen\src\Core\DiagonalProduct.h line 50 
+0

Как вы включаете Eigen в свой код? '#include ' или '#include" Eigen/Core "'? –

ответ

0

Из инструкции PC-Lint:

Заголовочный файл может стать заголовочный файл библиотеки, если:
(я) Он падает в одной из четырех широких категорий опции + libclass, а именно: все, ansi, angle и foreign (описано ниже), и не исключается либо с помощью опции -libdir, либо -libh.
...
Далее следует более подробное описание трех параметров, используемых для указания, является ли заголовочный файл заголовком файла или когда его заголовок является заголовком.
• + libclass (идентификатор [, идентификатор] ...)
указывает набор или множество файлов заголовков, которые предположительно являются файлами заголовков библиотеки. Каждый идентификатор может быть одним из:

угол Все заголовки указаны с угловыми скобками.
...

Так, предположительно, если включить ваши библиотеки по #include <library.h> (а не #include "library.h"), вы можете использовать libclass(angle) игнорировать заголовки библиотеки. У меня нет PC-lint, и поэтому я не могу его протестировать, поэтому возьмите это с солью.

0

Я пробовал использовать PC-lint с кодом, который использует Eigen, и я в конце концов сдался. По состоянию на 6 месяцев назад PC-lint задыхается от некоторого собственного кода и не может генерировать полезную диагностику.

Смежные вопросы