LIVE555再学习 -- DM368/Hi3516A 交叉编译
接著上篇文章來講,參看:LIVE555再學習 -- Linux 下編譯
下載源碼、文件介紹部分不再介紹。主要看配置編譯部分。
三、配置編譯
DM368 的交叉編譯器為 arm-none-linux-gnueabi-gcc?
如果您的目標平臺沒有“config.<os-platform>”文件,請嘗試使用其中一個現有文件作為模板
因此我們創建一個config.dm368,內容可以參考config.armlinux
# cat config.dm368 CROSS_COMPILE?= arm-none-linux-gnueabi- COMPILE_OPTS = $(INCLUDES) -I. -O2 -DSOCKLEN_T=socklen_t -DNO_SSTREAM=1 -D_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 = CONSOLE_LINK_OPTS = $(LINK_OPTS) LIBRARY_LINK = $(CROSS_COMPILE)ar cr LIBRARY_LINK_OPTS = $(LINK_OPTS) LIB_SUFFIX = a LIBS_FOR_CONSOLE_APPLICATION = LIBS_FOR_GUI_APPLICATION = EXE =
==============================================================================
修改說明:
參看:hi3507/hi3515交叉編譯live555
第一個?CROSS_COMPILE?好理解更改為交叉編譯器
第二個?CPLUSPLUS_FLAGS?
在 dm368 上操作不做改變是沒有問題的
但是在 Hi3516A 上就不是這樣了,會出現錯誤:
In file included from MPEG4GenericRTPSink.cpp:22:0: include/Locale.hh:47:123: fatal error: xlocale.h:沒有那個文件或目錄#include <xlocale.h> // because, on some systems, <locale.h> doesn't include <xlocale.h>; this makes sure that we get both 這個是由于海思使用的是 uClinux,并沒有 xlocale.h 這個頭文件。
而 live555 內部的一個 locale 模塊調用了(見liveMeida/locale.hh),因此通過編譯選項把他去掉。
在編譯選項上加入 -DLOCALE_NOT_USED 把此模塊去掉。
# cat config.hi3516a CROSS_COMPILE?= arm-hisiv300-linux- COMPILE_OPTS = $(INCLUDES) -I. -O2 -DSOCKLEN_T=socklen_t -DNO_SSTREAM=1 -D_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 -DLOCALE_NOT_USED OBJ = o LINK = $(CROSS_COMPILE)g++ -o LINK_OPTS = CONSOLE_LINK_OPTS = $(LINK_OPTS) LIBRARY_LINK = $(CROSS_COMPILE)ar cr LIBRARY_LINK_OPTS = $(LINK_OPTS) LIB_SUFFIX = a LIBS_FOR_CONSOLE_APPLICATION = LIBS_FOR_GUI_APPLICATION = EXE =
==============================================================================
執行: ?./genMakefiles dm368
運行: ?make clean && make
然后可以看到 mediaServer 目錄下生成文件 live555MediaServer
四、測試
將?live555MediaServer 拷貝到開發板上:
tftp -g -r live555MediaServer 192.168.x.xx
更改權限:
chmod 777?live555MediaServer?
執行?live555MediaServer?
./live555MediaServer?
然后找一個視頻文件,放在和?live555MediaServer同一目錄。注意視頻格式,要是上面所支持的。 然后打開 VLC,媒體->打開網絡串流,輸入網絡URL。?rtsp://電腦IP地址/<filename>
總結
以上是生活随笔為你收集整理的LIVE555再学习 -- DM368/Hi3516A 交叉编译的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里上线了一款新的电商app
- 下一篇: LIVE555再学习 -- VLC搭建R