2011-09-18 29 views
5

Używam g ++ do kompilacji mojego projektu C++. Kiedy próbuję użyć clang static analyzer (scan-build), aby sprawdzić mój kod, pojawia się błąd:Jeśli używam g ++ jako mojego kompilatora, w jaki sposób mogę skanować plik C++ za pomocą statycznego analizatora klang?

>> scan-build g++ main.cpp 
could not find clang line 

Jak używać narzędzia do skanowania budować z g ++?

+1

Od [źródło] (https://llvm.org/svn/llvm-project/cfe/trunk/tools/scan-build/ccc-analyzer), Scan-build szuka linii, która zawiera '-cc1'. – chrisaycock

+0

Nie jestem pewien, czy powinieneś być w stanie. Czy nie powinieneś używać 'llvm-g ++'? – sehe

Odpowiedz

2

Wygląda na to, że polecenie scan-build ma problem z rozpoznaniem "g ++" jako polecenia kompilatora. Oczekuje "clang" lub "gcc". Jeśli zastąpisz "g ++" przez "gcc -lstdC++" w celu zbudowania projektu, narzędzie do skanowania będzie działało poprawnie.

>> scan-build gcc -lstdc++ main.cpp 
main.cpp:7:3: warning: Assigned value is garbage or undefined 
    int y = x; 
^  ~ 
1 warning generated. 
scan-build: 1 bugs found. 
scan-build: Run 'scan-view /var/folders/2l/2l6vhCnVFNad-O8ryd5YO++++TI/-Tmp-/scan-build-2011-09-18-2' to examine bug reports.