1.首先你得有这个live555源码,然后根据你的系统去编译得到所需的头文件以及库,这里好像都是静态库。
这个是github上的代码。
链接:https://github.com/xanview/live555
Build Instructions
./genMakefiles linux
make -j4
Replace "Linux" with your platform, e.g. avr32-Linux, cygwin, freebsd, iphoneos, linux, linux-64bit, macosx, openbsd, solaris-64bit, etc (see config.PLATFORM files)
如果你的系统是64位的(linux),
./genMakefiles linux-64bit
make -j4 //编译速度(...能不能这么理解?)
接下来主要用到这四个文件夹里面的,BasicUsageEnvironment,groupsock,liveMedia,UsageEnvironment
2.pkg-config的一些用法
这步,你若不了解pkg-config 是啥玩意,没关系。
这是讲解:
3.我在 /usr/local/lib/pkg-config 下新建了一个live555.pc 的文件,里面大概内容是这样的:
# Package Information for pkg-config
prefix=/usr/local
exec_prefix=${prefix}
includedir_555=${prefix}/live555
InCludeBasicUsage=${includedir_555}/BasicUsageEnvironment
InCludegroupsock=${includedir_555}/groupsock
InCludeUsageEnvironment=${includedir_555}/UsageEnvironment
InCludeLiveMedia=${includedir_555}/liveMedia
Name: Live555
Description: Open Source Computer Vision Library
Version: ...
Libs: ${InCludeBasicUsage}/libBasicUsageEnvironment.so \
${InCludegroupsock}/libgroupsock.so \
${InCludeUsageEnvironment}/libUsageEnvironment.so \
${InCludeLiveMedia}/libliveMedia.so
Cflags: -I${InCludeLiveMedia}/include \
-I${InCludeBasicUsage}/include \
-I${InCludegroupsock}/include \
-I${InCludeUsageEnvironment}/include
// includedir_555 我将 live555 全部拷贝到了 /usr/local
各个内容的 头文件路径:InCludeBasicUsage InCludegroupsock...
我将上面的几个文件夹下的 .a 文件,全部链接成 .so 了
(将.a 文件拷贝到 /usr/lib ,同样也全部链接 相应的.so,下面备用)
于是就有了Libs: ..... 等等这选项里的内容。
Cflags: 这是live555编译所需的头文件。
4.头文件有了,库也有了,可以运行live555自带的例子了。
好像是在 testProgs 这个文件下 有个testRTSPClient.cpp 就测试这个了。
新建一个文件夹,把 这个文件testRTSPClient.cpp 复制进来。
然后自己写个 test.sh 文件。
内容如下:
reset
g++ testRTSPClient.cpp `pkg-config --cflags --libs live555` \
-lBasicUsageEnvironment -lgroupsock -lUsageEnvironment -lliveMedia\
-o demo.run
让这个.sh 文件加上可执行权限。