首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CppCheck从Powershell输出到xml文件

CppCheck从Powershell输出到xml文件
EN

Stack Overflow用户
提问于 2012-10-23 20:45:30
回答 2查看 1.8K关注 0票数 1

我想在我们的代码上运行CppCheck作为构建的一部分。但是,如果不从命令提示符执行,我不能让它将输出保存到文件中。

在常规(windows)命令提示符下,或者在.bat文件中使用硬编码路径时,以下操作可以正常工作:

代码语言:javascript
复制
"C:\Program Files\Cppcheck\CppCheck.exe" --enable=all  --xml-version=2 "<full_path_with_spaces_to_source>" 2> cppcheck_result.xml

但是,我想从脚本运行它,例如Powershell。我试过这个:

代码语言:javascript
复制
& 'C:\Program Files (x86)\Cppcheck\cppcheck.exe' --enable=all --xml-version=2 $CheckPath | Out-File cppcheck_ps.xml

但是这会将签入的文件输送到xml文件中,并且xml结果会显示在Powershell的output窗格中。

我还尝试作为命令行构建步骤直接从构建服务器(TeamCity)运行exe文件,但是没有创建输出文件!执行检查并在构建日志中看到正常输出,但不知何故2>丢失了。我使用的是TeamCity 7.1.1版。

我已经搜索了我能想到的所有地方,我能找到的最接近的是This

但这对我不起作用,因此任何帮助都将不胜感激。

或者,如果您知道运行CppCheck并获得结果的更好方法,请让我知道。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-24 00:17:43

我没有这个工具,但如果您需要从其中捕获stderr,请尝试:

代码语言:javascript
复制
& '.\cppcheck.exe' --enable=all --xml-version=2 $CheckPath 2>&1 | Out-File cppcheck_ps.xml

注意:我删除了exe的完整路径,只是为了缩短命令的显示时间。

票数 0
EN

Stack Overflow用户

发布于 2012-10-28 18:25:29

我对powershell的工作原理一无所知。但是,如果您必须使用2>&1而不只是2>,那么您当然也会收到标准输出消息。但是您可以使用cppcheck标志--quiet或-q来跳过标准输出。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13030710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档