当我编译webrtc服务器时,Windows上只支持clang-cl

Only clang-cl is supported on Windows, when I compile my webrtc server

本文关键字:Windows 支持 clang-cl 编译 webrtc 服务器      更新时间:2023-10-16

我实际上正试图在visual studio 2019中为webrtc构建服务器,并添加了额外的目录chromium source,我收到了这个错误。

Error C1189 #error: "Only clang-cl is supported on Windows, see https://crbug.com/988071"   Server  D:projectschromium-srcsrcbasecompiler_specific.h   13  

有人能告诉我成功构建缺少什么吗。

编辑1:现在我确信我的编译环境是问题所在,因为它采用MSVC而不是clang。有人能指导我如何在Visual Studio上将MSVC更改为clang吗。我确实尝试了很多,但都没能想出解决办法。

Edit 2:Chromium使用is_clang=true成功构建,但当我在我的webrtc媒体服务器中使用它时,当我实际将Chromium作为依赖项时,它会给出相同的clang错误。

正如Asesh所提到的,对Visual C++编译器的支持已被删除。在这种情况下,在构建Chromium时,通过以下步骤修改构建标志:

运行以下命令,该命令将在编辑器中打开args.gn文件:

gn args outDefault

在该文件中将is_clang布尔值指定为true并保存:

is_clang=true

我想出了一个破解方法,通过在项目属性->配置属性->C/C++属性->预处理器定义的预处理器定义中定义__clang__来解决这个问题。

PowerShell脚本和此处的分步说明RainwayApp/webrtc构建脚本将帮助您在Windows上构建webrtc(并在需要时进行修补(。

您基本上需要准备好仓库工具,然后build.ps1将完成其余工作并构建代码(在此脚本中构建静态库,但脚本本身相对较小,因此很容易了解如何进一步调整(。