darwin streaming server 6.0.3 Linux编译

说明:

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





猜你喜欢

转载自blog.csdn.net/singleroot/article/details/71169374