Prebuilt WebRTC binaries for Windows, Mac, and Linux. 🏗️🪄
I've been working with WebRTC for years; but it's always been a pain to build libraries for various modern desktop platforms. Previously, sourcey/webrtc-builds was a good place to get these, but it appears they're no longer publishing updated builds. Anyway, I finally got around to setting this up myself, using CircleCI to produce builds for the following targets:
- Windows, x64
- Mac (Intel), x64
- Mac (Apple Silicon), arm64
- Linux, x64
Both debug and release artifacts are produced, and I've also packed up the various WebRTC tools and tests in seperate zips.
Our releases are named after the WebRTC branch that we built; To determine the latest (stable, beta, etc) WebRTC branch, see this Chromium dashboard.
Note: The windows libraries are MSVC compatible, meaning you can build and link with Visual Studio.
- Download the latest Windows release to
vendor/webrtc
- For all configurations, ensure your
LanguageStandard
isstdcpp17
- For all configurations, add
$(ProjectDir)vendor\webrtc\$(Configuration)
to your project'sLibraryPath
- For all configurations, add
$(ProjectDir)vendor\webrtc\include;$(ProjectDir)vendor\webrtc\include\third_party\abseil-cpp;
to your project'sIncludePath
- For your project's Release configuration, define
WEBRTC_WIN
,NOMINMAX
, andRTC_ENABLE_WIN_WGC
- For your project's Debug configuration, define
WEBRTC_WIN
,NOMINMAX
,RTC_ENABLE_WIN_WGC
, and_ITERATOR_DEBUG_LEVEL=0
- Download the latest Mac release (for your given architecture, e.g.
x64
orarm64
) tovendor/webrtc
- Add
vendor/webrtc/include
andvendor/webrtc/include/third_party/abseil-cpp
to your include path - Define
WEBRTC_MAC
, andWEBRTC_POSIX
- Link against
libwebrtc.a
from eithervendor/webrtc/debug
orvendor/webrtc/release
depending on your desired configuration
- Download the latest Linux release to
vendor/webrtc
- Add
vendor/webrtc/include
andvendor/webrtc/include/third_party/abseil-cpp
to your include path - Define
WEBRTC_POSIX
- Link against
libwebrtc.a
from eithervendor/webrtc/debug
orvendor/webrtc/release
depending on your desired configuration