libsrtp编译
srtp需要--enable-openssl
libsrtp
tar -zxvf libsrtp-2.3.0.tar.gz
cd libsrtp-2.3.0/
sh build.sh
build.sh
cur_dir=$(cd "$(dirname "$0")"; pwd)
parent_dir=$(dirname $(pwd))
main_dir=$(dirname ${parent_dir})
echo "cur_dir = ${cur_dir}"
echo "parent_dir = ${parent_dir}"
echo "main_dir = ${main_dir}"
/bin/rm -rf build
/bin/rm -rf CMakeCache.txt
/bin/rm -rf cmake_install.cmake
#if [ $CROSS_COMPILE_CPU ];then
# ./configure "CFLAGS=${CMAKE_C_FLAGS}" --prefix=${cur_dir}/release --enable-openssl --with-openssl-dir=${main_dir}/release
#else
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=${main_dir}/release \
-DCMAKE_BUILD_TYPE=Release \
-DENABLE_OPENSSL=ON \
-DBUILD_SHARED_LIBS=OFF \
-DOPENSSL_ROOT_DIR=${main_dir}/release/lib \
-DOPENSSL_INCLUDE_DIR=${main_dir}/release/include \
..
#fi
make
make install
openssl
动态链接配置
使用系统自带的openssl动态库
find_package(OpenSSL REQUIRED)
if(OPENSSL_FOUND)
include_directories(${OPENSSL_INCLUDE_DIRS})
message(STATUS "OpenSSL Found!")
endif()
target_link_libraries(target_program ${CURL_LIBRARIES})
target_link_libraries(target_program OpenSSL::Crypto OpenSSL::SSL)
如果不想使用系统自带的openssl ,可以指定版本的openssl路径
给cmake添加下列变量:
-DOPENSSL_INCLUDE_DIR:指向 openssl-1.0 的 include 目录
-DOPENSSL_SSL_LIBRARIES:指向 openssl-1.0 的 lib 目录中的 libssl.so
-DOPENSSL_CRYPTO_LIBRARIES:指向 openssl-1.0 的 lib 目录中的 libcrypto.so
// add_definitions(-DOPENSSL_INCLUDE_DIR)
静态链接配置
添加以下的变量定义
set(OPENSSL_ROOT_DIR /home/public/openssl)
set(OPENSSL_USE_STATIC_LIBS TRUE)
不使用cmake编译
./configure --prefix=/home/webrtc/thirdparty/libsrtp-2.3.0/release --enable-openssl --with-openssl-dir=/home/webrtc/thirdparty/lib/openssl
make
make install
静态链接zlib
find_package(ZLIB REQUIRED)
if(ZLIB_FOUND)
message(STATUS "Zlib Found!")
include_directories(${ZLIB_INCLUDE_DIR})
endif()
target_link_libraries(target_program ${ZLIB_LIBRARIES})