Sono in procinto di spostare un progetto attualmente compilando con gcc su clang, e ho un sacco di avvertenze che gcc non ha generato (-Winconsistent-missing-override
). clang-tidy
funziona per correggere questi errori nei file *.cpp
, tuttavia non tocca i file hpp
perché non è stato trovato nel database un comando di compilazione (come prevedibile).Ottenere clang-ordine per correggere i file di intestazione
Sto utilizzando ninja
per creare il progetto e ninja -t compdb cc cxx > .build/compile_commands.json
per generare il database di compilazione. Ho provato a correre:
clang-tidy-3.6 -p .build/ \
$(find src/ -name *.cpp) \
$(find src/ -name *.hpp) \
--checks=misc-use-override --fix
per correggere gli errori. Si rifiuta di toccare i file di intestazione lamentarsi:
Skipping .../src/header/file.hpp. Compile command not found.
Per quanto riguarda le "correzioni finito per essere applicato più volte": Ecco perché c'è uno script di run-clang-ordinata che raccoglie prima le correzioni e poi li applica in one-go * dopo *. Vedi http://clang-developers.42468.n3.nabble.com/Clang-tidy-applying-fixes-multiple-times-on-same-file-tp4048842p4049156.html – kfunk
Vedo. Non molto ben documentato però. Se lo scrivi come risposta o modifica suggerita, sarò più che felice di accettarlo. (Ho smesso di fare molto sviluppo in C++, quindi probabilmente non lo testerò comunque) – nishantjr