说明:
Darwin Streaming Server官方网站
先下载源码
https://github.com/macosforge/dss/releases/download/6.0.3/DarwinStreamingSrvr6.0.3-Source.tar
再下载linux补丁,其实就是修改了一些文件适用于linux环境
http://www.abrahamsson.com/dss-6.0.3.patch
上面如果失效了就自己找一下
1.基本的操作
创建一个目录,来存放代码
mkdir dss
mv DarwinStreamingSrvr6.0.3-Source.tar dss/
mv dss-6.0.3.patch dss/
tar -xvf DarwinStreamingSrvr6.0.3-Source.tar
cd DarwinStreamingSrvr6.0.3-Source
patch -p1 < ../dss-6.0.3.patch
2.重点的操作
直接编译是有问题的,为了更清晰的理解,我修改了Buildit文件。
而且去掉了不需要编译的项目,如果需要可以参考Buildit,把对应的需要编译的添加进来就可以了
仔细看他的Buildit里面内容是为了适用平台所以做了switch
我就重新创建一个文件
vim build_linux.sh
#!/bin/sh
OSNAME=`uname`
HARDWARENAME=`uname -m`
PLAT=$OSNAME.$HARDWARENAME
echo "Darwin Streaming Server"
echo "-----------------------"
echo "--------" $PLAT "--------"
CPLUS=gcc
CCOMP=gcc
LINKER='gcc'
MAKE=make
COMPILER_FLAGS="-D_REENTRANT -D__USE_POSIX -D__linux__ -pipe"
INCLUDE_FLAG="-include"
CORE_LINK_LIBS="-lpthread -ldl -lstdc++ -lm -lcrypt"
SHARED=-shared
MODULE_LIBS=
if [ -f /usr/include/socketbits.h ]; then
NEED_SOCKETBITS=1
export NEED_SOCKETBITS
fi
echo Building for $PLAT with $CPLUS
export CPLUS
export CCOMP
export LINKER
export COMPILER_FLAGS
export INCLUDE_FLAG
export CORE_LINK_LIBS
export SHARED
export MODULE_LIBS
echo $*
echo Building CommonUtilitiesLib for $PLAT with $CPLUS
cd CommonUtilitiesLib/
$MAKE -f Makefile.POSIX $*
echo Building QTFileLib internal for $PLAT with $CPLUS
cd ../QTFileLib/
if [ "$*" = "clean" ] ; then
$MAKE -f Makefile.POSIX $*
else
$MAKE -f Makefile.POSIX all $*
fi
echo Building StreamingServer for $PLAT with $CPLUS
cd ..
$MAKE -f Makefile.POSIX $*
然后在修改一下关于少了-ldl
在Makefile.POSIX 中的libs 的最后添加 -ldl(注意是最后)
然后就是代码修改一下,在Server.tproj/main.cpp中(查找一下i386),添加一个defined(__x86_64__)
然后在执行sh build_linux.sh 就可以完成了
目录下就有DarwinStreamingServer