编译avbot

这里帮助大家在Linux平台编译 avbot.

对于 Windows 平台, 因为复杂度有点高, 需要额外参考 windows下编译avbot

检查编译依赖

Boost >=1.55

从 avbot 6.3 版本开始 avbot 需要 boost >=1.55 如果你懒得安装该版本以上的 boost, 请使用 6.2 版本的 avbot .

如果你的系统没有 boost 或者版本太老或在找遍ppa也没找到合适的, 你就需要自行 编译boost

avbot 的 XMPP 协议需要 openssl 支持, 所以也需要安装 openssl . 推荐 Ubuntu Server 64位操作系统来编译。

RPM系的可以使用

yum install openssl-devel

deb 系的则是

apt-get install libssl-dev

完全纯净的Ubuntu系统你可能还需要 gcc g++ cmake make

apt-get install gcc g++ cmake make

Arch

pacman -S openssl

gcc >=4.6.x

我尝试使用CentOS 6.4的时候,发现其自带的gcc是4.4版本,只好自己编译gcc。 参见: * http://www.cnblogs.com/linbc/archive/2012/08/03/2621169.html 《在centos编译gcc4.7》 * http://www.cnblogs.com/higkoo/p/howto_update_gcc.html 《如何在CentOS上使用高版本的GCC编译》

Ubuntu 12.04 可以使用下面的命令进行 gcc 升级到 4.8

  sudo add-apt-repository ppa:ubuntu-toolchain-r/test
  sudo apt-get update
  sudo apt-get install gcc-4.8
  sudo apt-get install g++-4.8
  sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50
  sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50

获取代码

avbot 提供了打包好的源码包, 但是因为 avbot 开发速度实在太快, 下载好的源码包很快就会过时. 所以推荐使用git下载开发版的源码.

克隆代码

使用git 获取代码, 你可能还需要 git 工具

apt-get install git

推荐的办法是使用 git 获取 avbot 源码

  git clone git://github.com/avplayer/avbot.git
  cd avbot

如果要更新 avbot 使用下面的命令

  cd avbot
  git pull -f

使用源码包

avbot 在 sourceforge 上提供了打包好的源码压缩包. 打包好的源码压缩包内包含了额外的 autotools 工具链, 用户可以使用 autotools 编译 avbot

编译

cmake >= 2.8.11 avbot 使用 http://cmake.org cmake 作为编译系统。 Ubuntu 可以使用 ppa:kalakris/cmake

  sudo add-apt-repository -y ppa:kalakris/cmake
  sudo apt-get update
  sudo apt-get install cmake

使用 cmake 编译

项目使用 cmake 编译。编译办法很简单

  mkdir build
  cd build
  cmake [-DCMAKE_BUILD_TYPE=Release] [-DENABLE_PYTHON=ON]  [-DENABLE_ZMQ=ON] [avbot源码的路径] 
  make -j8
  • 注意 使用 ENABLE_PYTHON 时, 需要指定 PYTHONPATH 环境变量

export PYTHONPATH=/opt/avbot

编译时,推荐内存3G以上, 如果内存不够,内存交换也要够,速度要慢些, 如果报内存不足错误的话,可以尝试重新编译,还是存在编译通过的可能.

但是在 windows 上编译, 事情就没那么简单了, 请参考 windows下编译avbot