jrtplib版本:3.11.1
jthread版本:1.3.3
libsrtp版本:1.6.0
jrtplib库有两种编译方式:
1. 使能jthread编译,此方式可使jrtplib自动在后台轮询结束数据,
而不必用户自己调用RTPSession类中的poll方法轮询。(推茅,本例采用)
2. 不使能jthread编译, 这就要用户调用RTPSession类中的poll方法轮询。
首先编译libsrtp:
源码网站:github.com/cisco/libsrtp
下载后解压,进入源码目录。执行一项命令
./configure --prefix="安装目录" (交叉编译则需指定--host="交叉编译工具链")
make
make runtest
make install
其次编译jthread:
源码网站:https://github.com/j0r1/JThread
下载后解压,进入源码目录。
采用cmake编译(没安装则自行安装apt-get install cmake、apt-get install cmake-qt-gui)
1. 在目录下建立build目录 mkdir build
2. vi toolchain.cmake
3. 添加:
###########user defined#############
set( CMAKE_SYSTEM_NAME Linux ) #设置系统名
#set( CMAKE_SYSTEM_PROCESSOR arm ) #设置处理器名
set( CMAKE_C_COMPILER gcc ) #设置C语言编译器
set( CMAKE_CXX_COMPILER g++ ) #设置c++编译器
###########user defined#############
set(CMAKE_INSTALL_PREFIX "安装目录") #设置安装目录
###########user defined#############
set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER )
set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
######################################
4. 执行 cmake -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake ../
5. make
6. make install
最后编译jrtplib:
源码网站:https://github.com/j0r1/JRTPLIB
下载后解压,进入源码目录。(采用cmake编译)
1. 在目录下建立build目录 mkdir build
2. vi toolchain.cmake
3. 添加:
set(JTHREAD_FOUND 1)
set(JTHREAD_INCLUDE_DIRS "jthread安装目录/include")
set(JTHREAD_LIBRARIES "-Ljthread安装目录/lib" "-ljthread" "-lpthread")
set(LIBSRTP_FOUND 1)
set(LIBSRTP_INCLUDE_DIR "libsrtp安装目录/include")
set(LIBSRTP_LIBRARY_DIR "-Llibsrtp安装目录/lib" "-lsrtp")
###########user defined#############
set( CMAKE_SYSTEM_NAME Linux )
#set( CMAKE_SYSTEM_PROCESSOR arm )
set( CMAKE_C_COMPILER gcc )
set( CMAKE_CXX_COMPILER g++ )
###########user defined#############
set(CMAKE_INSTALL_PREFIX "jrtplib安装目录") #设置安装目录
###########user defined#############
set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER )
set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
######################################
4. 执行 cmake -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake ../
5. make
6. make install