VS2013中使用ninja构建WebRTC并调试

Posted

技术标签:

【中文标题】VS2013中使用ninja构建WebRTC并调试【英文标题】:Building WebRTC using ninja and debugging in VS2013 【发布时间】:2014-05-01 09:25:36 【问题描述】:

我正在尝试在 VS2013 中构建和调试最新版本的 WebRTC。从 VS2013 内部构建失败,尽管直接使用 ninja(例如,ninja -C out\Debug)工作正常。理想情况下,我想在 VS2013 中编辑、开始构建和调试:

如果你做了VS2013的系统安装,你可以用它来编辑和 调试。 ninja 仍将使用 depot_tools 版本进行构建。这 是首选,因为它会自动保持最新版本 需求变化。

我已按照此处描述的步骤进行操作:

http://www.chromium.org/developers/how-tos/build-instructions-windows#TOC-Setting-up-the-environment-for-Visual-Studio-2013

我设置了这个环境变量:

GYP_GENERATORS=msvs-ninja,ninja

我已经运行了以下命令:

C:\dev\webrtc>gclient runhooks

(在命令结束时,我收到一些“警告:在转换为 MSBuild 时无法识别工具 MASM。”警告)

更新:如果我删除 GYP_GENERATORS 设置并再次运行“gclient runhooks”,这些警告就会消失。

然后我在 VS2013 中打开“C:\dev\webrtc\trunk\all.sln”并尝试重建“peerconnection_client”项目。但它失败并出现以下错误:

Error   1   error : loading 'build.ninja': No such file or directory    C:\dev\webrtc\trunk\talk\ninja
Error   2   error MSB3073: The command "call ninja.exe -C trunk\out\Debug\ -t clean peerconnection_client" exited with code 1.  C:\dev\webrtc\trunk\talk\peerconnection_client.vcxproj  308

“C:\dev\webrtc\trunk\talk\ninja”文件夹不存在,但我的“build.ninja”文件位于我的每个 C:\dev\webrtc\trunk\out(Debug | Debug_x64 | Release | Release_x64)。

你知道我做错了什么吗?

【问题讨论】:

你是如何解决问题的?error: call ninja.exe exited wth code 0? 【参考方案1】:

如果有人遇到此错误,您需要安装 DirectX SDK

【讨论】:

以上是关于VS2013中使用ninja构建WebRTC并调试的主要内容,如果未能解决你的问题,请参考以下文章

如何使用ninja编译系统编译我们的程序?

Windows下webrtc.lib 的编译及vs工程中使用

WebRTC编译系统之gn files

VS cmake远程调试ubuntu项目生成报错:“Does not match the generator used previously: Ninja“(删除.vs隐藏文件夹)

在没有 LTO 的情况下构建 Chromium、WebRTC

WebRTC Native M96版本开篇之旅--一篇读懂代码下载编译(ninja gn depot_tools)