先交叉编译openssl:
交叉编译openssl_hechangfei的博客-CSDN博客
得到openssl库
交叉编译ZLMediaKit
修改CMekelists.txt
#查找openssl是否安装
#find_package(OpenSSL QUIET)
#if (OPENSSL_FOUND AND ENABLE_OPENSSL)
# message(STATUS "found library:${OPENSSL_LIBRARIES},ENABLE_OPENSSL defined")
# include_directories(${OPENSSL_INCLUDE_DIR})
# add_definitions(-DENABLE_OPENSSL)
# list(APPEND link_LIB_LIST ${OPENSSL_LIBRARIES})
# if (CMAKE_SYSTEM_NAME MATCHES "Linux" AND OPENSSL_USE_STATIC_LIBS)
# list(APPEND link_LIB_LIST dl)
# endif ()
#else ()
# message(WARNING "openssl未找到,rtmp将不支持flash播放器,https/wss/rtsps/rtmps也将失效")
#endif ()
set(OPENSSL_INCLUDE_DIR /home/openssl-1.0.2p/arm-install/include)
set(OPENSSL_LIBRARIES /home/openssl-1.0.2p/arm-install/lib/libssl.so /home/openssl-1.0.2p/arm-install/lib/libcrypto.so)
include_directories(${OPENSSL_INCLUDE_DIR})
add_definitions(-DENABLE_OPENSSL)
list(APPEND link_LIB_LIST ${OPENSSL_LIBRARIES})
if (CMAKE_SYSTEM_NAME MATCHES "Linux" AND OPENSSL_USE_STATIC_LIBS)
list(APPEND link_LIB_LIST dl)
endif()
保存退出,然后创建build并进入build目录
$ mkdir build && cd build
开始编译
#32位
cmake .. -DCMAKE_BUILD_TYPE=Release
-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_SYSTEM_VERSION=1 -DCMAKE_SYSTEM_PROCESSOR=arm
-DCMAKE_C_COMPILER=arm-linux-gnueabihf-gcc
-DCMAKE_CXX_COMPILER=arm-linux-gnueabihf-g++
#64位
cmake .. -DCMAKE_BUILD_TYPE=Release
-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_SYSTEM_VERSION=1 -DCMAKE_SYSTEM_PROCESSOR=aarch64
-DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc
-DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++
make -j
编译完成后会在build的上级目录生成release目录,可执行文件和库都在release目录中



