ビルドの一部として、コードに対してCppCheckを実行したいと思います。ただし、コマンドプロンプトから実行しないと、出力をファイルに保存することはできません。
通常の(Windows)コマンドプロンプトから、または.batファイル内にハードコードされたパスを使用すると、次のように正常に機能します。
"C:\Program Files\Cppcheck\CppCheck.exe" --enable=all --xml-version=2 "<full_path_with_spaces_to_source>" 2> cppcheck_result.xml
ただし、Powershellなどのスクリプトから実行したいと思います。私はこれを試しました:
& 'C:\Program Files (x86)\Cppcheck\cppcheck.exe' --enable=all --xml-version=2 $CheckPath | Out-File cppcheck_ps.xml
ただし、これにより、チェックされたファイルがxmlファイルにパイプされ、xmlの結果がPowershellの出力ペインに表示されます。
また、コマンドラインビルドステップとしてビルドサーバー(TeamCity)から直接exeファイルを実行しようとしましたが、出力ファイルが作成されません!チェックが実行され、通常の出力がビルドログに表示されますが、どういうわけか2>が失われます。TeamCityバージョン7.1.1を使用しています。
私は思いつく限りどこでも検索しました、そして私が見つけることができた最も近いものはこれでした。
しかし、これは私にはうまくいきませんでしたので、どんな助けでも大歓迎です。
または、CppCheckを実行して結果を取得するためのより良い方法をご存知の場合は、お知らせください。