J'ai un projet que je vérifie avec CPPCheck 1.90, mais je souhaite que peu de temps définissent, car il faut beaucoup de temps pour vérifier avec toutes les définitions.
Exemple: Lorsque je travaille avec fichier sans projet - il n'y a pas de problème: p> i nonset définit b - et cppcheck Ne pas vérifier le chemin de compilation avec B.
Mais comment le faire avec le fichier généré à partir de CMAKE Project? P> Tests.CPP CODE> p>
CMakeLists.txt
cmake_minimum_required(VERSION 3.6)
project(tests)
set(SRC
tests.cpp
)
set(NAME test)
add_executable(${NAME} ${SRC})
3 Réponses :
Une décision possible est la modification du fichier CMAKELIST (désétat défini): et sortie est: p> il n'y a pas " B "Vérification du chemin.
Mais si existe une solution sans changer de cmAkelists - ce serait mieux. P> p>
Vous avez une option pour éditer le fichier CmAkelistes une seule fois et passer des arguments au besoin, pour y parvenir, vous devez P>
dans le fichier CmAkelists Ajouter: P> blockQuote>
SET (CUKE_CXX_FLAGS "$ {CUKE_CXX_FLAGS} * HARD_CODED_FLAGS *") CODE> P>
ligne de commande: p> blockQuote>
Lorsque vous appelez
cmake code> à partir de la ligne de commande, vous ajoutez
CUKE_CXX_FLAGS = -UB = 1 code> (ou tout autre drapeau "fort> cppcheck strong>), cela concaténera < Code> -UB = 1 code> sur le
HARD_CODED_FLAGS code>. P>
Un autre moyen est d'avoir Ceci a des inconvénients (par exemple, chaque fichier source est vérifié individuellement, la vérification de fichier croisement ne fonctionne pas). P> Mais il y a plusieurs avantages: P> Je suivez généralement un motif quelque chose comme ceci dans mon alors vous pouvez faire une analyse de code par faire CUKE code> exécuter
cppcheck code> lui-même. Ceci peut être fait en définissant
cmake_cxx_cppcheck code> (voir le Documentation ). Vous pouvez soit définir
cmake_cxx_cppCheck code> dans votre
cmakelists.txt code> ou vous pouvez la définir sur la ligne de commande qui invoque
cmake code>.
CPPCheck code> séparément. LI>
CUKE_CXX_CPPCHeck code> dans votre
CMAKELIST.TXT CODE>, vous pouvez également ajouter
CPPCheck code> Options de ligne de commande pour contrôler ce qu'il fait. Dans votre cas, vous pouvez ajouter
-UB code>. Li>
cmakelists.txt code>). LI>
ul>
CMAKELIST.txt code>: p>
cmake -denable_code_analysis = sur code>. p> p>
Avez-vous essayé de définir le drapeau C ++? CMAKELIST Fichier
SET (CUKE_CXX_FLAGS "-D * YOUR_FLAGS *") CODE>, Postez votre fichier CmAkelists peut être utile.
Ceci est un problème avec
CPPCheck CODE> et vous le plus probablement] devrait signaler un bug avec eux.
@jouepol, merci! Mais mieux de définir non défini!