当我编译webrtc服务器时,Windows上只支持clang-cl
Only clang-cl is supported on Windows, when I compile my webrtc server
我实际上正试图在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将完成其余工作并构建代码(在此脚本中构建静态库,但脚本本身相对较小,因此很容易了解如何进一步调整(。
相关文章:
- 当我编译webrtc服务器时,Windows上只支持clang-cl
- 如何在 Windows x64 上编译支持 fips 的 openssl?
- Windows 脚本主机 - 错误 '800A01B6' 对象不支持此属性或方法
- 如何在 Windows 异常处理程序中设置 MMX 寄存器以模拟不受支持的 3DNow! 说明
- Windows Qt 二进制安装程序是否支持开箱即用的 DBus
- 拥有带有InfiniBand的Windows Azure A8节点支持如何从一个节点发送N个字节并在另一个节点上接收
- 支持 Windows 的 P2P C++ 库
- Windows是否支持从内存运行程序
- 哪些适用于 Windows 的 C++11 编译器支持新的类型特征,如"is_nothrow_move_constructible"?
- 无法在支持Windows应用商店的情况下生成C++库
- 如何使Windows 7支持12000(UTF-32)代码页或1200(UTF-16)代码页
- GMock 和 Gtest 支持 Windows 10 Universal 平台
- 编译支持 OpenSSL 的 Windows Phone 8.1 Qt 5.5 时出现问题
- Visual Studio 2013 中的 Windows XP 和 Windows Server 2003 支持
- 这是存储 std::分配器状态的正确方法 - 在这种情况下,由 Windows 上的共享内存支持
- Windows Core Audio Api在捕获设备上获取所有支持的格式
- 完全支持C++11的Windows C++编译器(应与Qt一起使用)
- Windows Phone 8.1 中的 AMR 编解码器本机支持
- 在Windows上使用WaitForSingleObject,但支持boost线程中断
- Windows CreateFileMapping:具有相同支持文件的不同文件映射对象