2010-12-30 16:48:39| 分类:默认分类|字号 订阅
live555版本:live.2010.12.14.tar.gz
Linux版本:2.6.24
在生成Makefile之前还应先根据自己的交叉编译器名称修改config.armeb-uclibc
首先要生成Makefile,按照Linux的惯例用configure是不行的。我使用的是uclibc库,所以要用如下命令产生Makefile:
./getMakefiles armeb-uclibc
然后make
先后出现两个错误:
strDup.cpp: undefinedreference to 'operator new[](unsigned int)'
collect2: ld returned1 exited status
这两个错误均是由config.armeb-uclibc产生的,按照错误提示修改config.armeb-uclibc即可:
修改好的如下:
CROSS_COMPILE=arm-linux-
COMPILE_OPTS = $(INCLUDES) -I. -Os-DSOCKLEN_T=socklen_t -DNO_SSTREAM=1
LARGEFILE_SOURCE=1-D_FILE_OFFSET_BITS=64
C = c
C_COMPILER =$(CROSS_COMPILE)gcc
C_FLAGS = $(COMPILE_OPTS)
CPP =cpp
CPLUSPLUS_COMPILER = $(CROSS_COMPILE)g++
CPLUSPLUS_FLAGS =$(COMPILE_OPTS) -Wall -DBSD=1
OBJ = o
LINK =$(CROSS_COMPILE)g++ -o
LINK_OPTS = -L.
CONSOLE_LINK_OPTS =$(LINK_OPTS)
LIBRARY_LINK = $(CROSS_COMPILE)ar cr
LIBRARY_LINK_OPTS =
LIB_SUFFIX =a
LIBS_FOR_CONSOLE_APPLICATION =
LIBS_FOR_GUI_APPLICATION =
EXE=
编译完成后会在mediaServer下生成live555MediaServer这个可执行文件,接下来就是部署live555MediaServer到ARM板了,先把live555MediaServer所以依赖的库libstdc++.so.6,libgcc_s.so.1等放到文件系统的/lib目录下。我把live555MediaServer拷贝到
ARM板的/tmp目录下,又拷贝了一个sample.264的文件到/tmp,执行live555MediaServer。在PC端打开VLC,选择打开串流文件,
输入rtsp://192.168.240.230/sample.264,就可以看到视频啦。。。
(2011-11-13 22:08)
在安装qt-creator的时候运行这个IDE就出现了这个问题,是由于libstdc++.so.6的版本过低,需要下载个新的重新建立软连接。
linux 执行strings/usr/lib/libstdc++.so.6 | grepGLIBC
返回结果没有GLIBCXX_3.4.9
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBC_2.0
GLIBC_2.3
GLIBC_2.4
GLIBC_2.3.4
GLIBC_2.1
GLIBC_2.1.3
GLIBC_2.2
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
执行ls-l /usr/lib/libstdc++.so.6
发现/usr/lib/libstdc++.so.6->/usr/lib/libstdc++.so.6.0.8,其实这里需要使用libstdc++.so.6.0.10
从网上下载这个文件,然后rm-rf /usr/lib/libstdc++.so.6 ->/usr/lib/libstdc++.so.6.0.8软链接删除,重新做
ln-s /usr/lib/libstdc++.so.6.10 /usr/lib/libstdc++.so.6