crtmpserver源码编译(Unix)及部分问题解决

21 篇文章 0 订阅
本文编译在Unix环境中完成
要求gcc和c++
需要
支持

步骤:
1进入目录
#cd crtmpserver/builders/cmake
2生成make文件(cmake .(有个点))
#cmake .
3编译
#make
当达到100%编译成功(若失败请参考下文,重新编译时,若配置文件有改动请先清理./cleanup.sh
4运行
#./crtmpserver/crtmpserver crtmpserver/crtmpserver.lua
只要相关端口不被占用应该成功,被占用也会有提示
打包安装:
进入到目录crtmpserver/builders/cmake
运行命令:
cmake -DCRTMPSERVER_INSTALL_PREFIX=<路径> (例如 /usr/local/crtmpserver)
make
make install
在 /usr/local/crtmpserver中可以看到整理好的文件
crtmpserver在sbin文件夹中
crtmpserver.lua在etc文件夹中
存在package.sh文件的话,运行可得到配置文件的压缩包,
没有没关系,就在工程crtmpserver的主目录下,有configs,media等目录,自己打包下,
实在不会就用官方编译好的(*.so跟crtmpserver替换成自己的就行)
按照官方编译好的进行整理
建议把libdl.so, libssl.so, libcrypto.so都放进去 ,避免在其它机子上不能运行。

部分问题解决方式
1 cmake
缺少cmake命令,请到官网进行下载
cmake官网: http://www.cmake.org/
直接下最新的就行
安装步骤:
#tar xvf cmake-2.x.x.tar.gz
#cd cmake-2.x.x/
#./bootstrap
#make
#make install
安装完毕,cmake命令可以直接使用

2 openssl crypto
不存在openssl肯定要装
cmake .能通过,但make时碰到 crypto.cpp错误,那就是openssl版本过低,需要安装新的
openssl官网: http://www.openssl.org/
openssl下载地址: http://www.openssl.org/source/
建议下openssl-0.9.8x.tar.gz版,1.0.0可能有的编译不过
安装步骤:
#tar -xzf openssl-xxx.tar.gz
#./config --prefix=/usr/local/openssl shared zlib-dynamic enable-camellia
修改配置,使之生成.so文件,/usr/local/openssl是自定义安装位置,可自行修改,位置要记住,之后要修改文件
#./config -t
#make depend
#make install
安装完毕,还需修改文件
位置:crtmpserver/builders/cmake/cmake_find_modules/
修改文件:Find_openssl.cmake
FIND_PATH(OPENSSL_INCLUDE_PATH
NAMES
openssl/ssl.h
PATHS
/usr/local/openssl/include
${TOOLCHAIN_HEADER_PATH}
....................................................
FIND_LIBRARY(OPENSSL_LIBRARY_PATH
NAMES
ssl
PATHS
/usr/local/openssl/lib
${TOOLCHAIN_LIBRARY_PATH}
.....................................................
FIND_LIBRARY(CRYPTO_LIBRARY_PATH
NAMES
crypto
PATHS
/usr/local/openssl /lib
${TOOLCHAIN_LIBRARY_PATH}
................................................
添加红色文字部分,具体位置看你编译时安装的位置而定,cmake .后应该可以看到( 要先./cleanup.sh)路径
..................................................................
-- OPENSSL_INCLUDE_PATH: /usr/local/openssl/include
-- OPENSSL_LIBRARY_PATH: /usr/local/openssl/lib/libssl.so
-- CRYPTO_LIBRARY_PATH: /usr/local/openssl/lib/libcrypto.so
.....................................................................
应该能够看到以上三行信息,确保路径是所安装的路径
3 iotimer.cpp sys/timerfd.h
缺少这两个文件所带来的错误,应该是Unix内核版本过低,不支持所致,也无需换Unix系统
位置: crtmpserver/sources/common/include/platform/linux
修改文件:linuxplatform.h
//#define HAS_EPOLL_TIMERS
将其注释掉即可(老内核不支持,不使用该方式即可)
重新编译要从头开始, 要先./cleanup.sh
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值