关于编译WebRTC Linux/Android版源码的说明

简介: 关于编译WebRTC Linux/Android版源码的说明分享下,Linux/Android版本,默认必须在Ubuntu上编译,Debian和Ubuntu是同类型OS,应该也可以,不过我没试过,其他类型部分支持,没有关于CentOS的说明,所有不要在这个系统上捣腾,虽然理论上可以,但可能会碰到很多问题。


关于编译WebRTC Linux/Android版源码的说明


分享下,Linux/Android版本,默认必须在Ubuntu上编译,Debian和Ubuntu是同类型OS,应该也可以,不过我没试过,其他类型部分支持,没有关于CentOS的说明,所有不要在这个系统上捣腾,虽然理论上可以,但可能会碰到很多问题。

另外说明下,

Android版只能在Linux上编译(编译工具使用NDK,这个工具会被下载到third_party/android_tools下面

Windows版只能在Windows上编译(编译工具使用VS2013/VS2015)

IOS只能在Mac OS X上编译(编译工具必须使用Xcode 5或者以上版本,建议使用最新版Xcode)


下面是官网关于编译chrome的说明(其实WebRTC编译也要依赖这些):https://chromium.googlesource.com/chromium/src/+/master/docs/linux_build_instructions.md


Ubuntu

Once you have checked out the code, run build/install-build-deps.sh The script only supports current releases as listed on https://wiki.ubuntu.com/Releases. This script is used to set up the canonical builders, and as such is the most up to date reference for the required prerequisites.

Debian

Follow the Ubuntu instructions above. If you want to install the build-deps manually, note that the original packages are for Ubuntu. Here are the Debian equivalents:
•libexpat-dev -> libexpat1-dev
•freetype-dev -> libfreetype6-dev
•libbzip2-dev -> libbz2-dev
•libcupsys2-dev -> libcups2-dev

Additionally, if you‘re building Chromium components for Android, you’ll need to install the package: lib32z1

openSUSE

For openSUSE 11.0 and later, see Linux openSUSE Build Instructions.

Fedora

Recent systems:
su -c 'yum install subversion pkgconfig python perl gcc-c++ bison flex \
gperf nss-devel nspr-devel gtk2-devel glib2-devel freetype-devel atk-devel \
pango-devel cairo-devel fontconfig-devel GConf2-devel dbus-devel \
alsa-lib-devel libX11-devel expat-devel bzip2-devel dbus-glib-devel \
elfutils-libelf-devel libjpeg-devel mesa-libGLU-devel libXScrnSaver-devel \
libgnome-keyring-devel cups-devel libXtst-devel libXt-devel pam-devel httpd \
mod_ssl php php-cli wdiff'


The msttcorefonts packages can be obtained by following the instructions present here. For the optional packages:
•php-cgi is provided by the php-cli package
•wdiff doesn't exist in Fedora repositories, a possible alternative would be dwdiff
•sun-java6-fonts doesn't exist in Fedora repositories, needs investigating

Arch Linux

Most of these packages are probably already installed since they're often used, and the parameter --needed ensures that packages up to date are not reinstalled.
sudo pacman -S --needed python perl gcc gcc-libs bison flex gperf pkgconfig \
nss alsa-lib gconf glib2 gtk2 nspr ttf-ms-fonts freetype2 cairo dbus \
libgnome-keyring


For the optional packages on Arch Linux:
•php-cgi is provided with pacman
•wdiff is not in the main repository but dwdiff is. You can get wdiff in AUR/yaourt
•sun-java6-fonts do not seem to be in main repository or AUR.

Mandriva


urpmi lib64fontconfig-devel lib64alsa2-devel lib64dbus-1-devel \
lib64GConf2-devel lib64freetype6-devel lib64atk1.0-devel lib64gtk+2.0_0-devel \
lib64pango1.0-devel lib64cairo-devel lib64nss-devel lib64nspr-devel g++ python \
perl bison flex subversion gperf

•msttcorefonts are not available, you will need to build your own (see instructions, not hard to do, see mandriva_msttcorefonts.md) or use drakfont to import the fonts from a windows installation
•These packages are for 64 bit, to download the 32 bit packages, substitute lib64 with lib
•Some of these packages might not be explicitly necessary as they come as dependencies, there is no harm in including them however.

Gentoo


emerge www-client/chromium





目录
相关文章
|
27天前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
75 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
1月前
|
Linux 编译器 C语言
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
|
13天前
|
Linux
Linux - 如何编译源码安装软件
源码编译安装通常包括三个步骤:1) `./configure` 检测平台特征和依赖项,生成 Makefile;2) `make` 编译源码,生成可执行文件;3) `make install` 将可执行文件安装到指定目录并配置环境变量。
28 0
|
1月前
|
Linux 编译器 C语言
Linux c/c++之多文档编译
这篇文章介绍了在Linux操作系统下使用gcc编译器进行C/C++多文件编译的方法和步骤。
39 0
Linux c/c++之多文档编译
|
1月前
|
编译器 Android开发
配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目
配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目
|
1月前
|
Ubuntu Shell API
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
|
30天前
|
Linux 开发工具
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
|
3月前
|
API 开发工具 Android开发
Android源码下载
Android源码下载
448 0
|
存储 Ubuntu Linux
linphone android sdk 源码下载编译
linphone android sdk 源码下载编译
1154 0
linphone android sdk 源码下载编译
|
Ubuntu Java Linux
Android13源码下载及全编译流程
Android13源码下载及全编译流程
Android13源码下载及全编译流程