Pc Lint + Eigen библиотека

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

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

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

-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

-1

Решение

Из руководства пользователя PC-lint:

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

Далее следует более полное описание трех опций, используемых для указания того, является ли заголовочный файл библиотечным заголовочным файлом.
• + libclass (идентификатор [, идентификатор] …)
определяет набор или наборы заголовочных файлов, которые предполагаются как заголовочные файлы библиотеки. Каждый идентификатор может быть одним из:

угол Все заголовки указаны с помощью угловых скобок.

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

0

Другие решения

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

0

По вопросам рекламы [email protected]