移植JRTPLib到Montavista
1. 將jrtplib-3.7.1和jthread-1.2.1解壓到/prj/share/source下。
2. 安裝jthread.
在終端中輸入:
./configure –prefix=/prj/share –host=arm-montavista-linux CC=/opt/montavista/pro/devkit/arm/v5t_le/bin/arm_v5t_le-gcc CXX=/opt/montavista/pro/devkit/arm/v5t_le/bin/arm_v5t_le-g++
將生成一個Makefile文件。
執行
make
make install
jthread安裝完畢。
3. 安裝jrtplib
和安裝JThread類似,先執行配置文件:
./configure –prefix=/prj/share –host=arm-montavista-linux CC=/opt/montavista/pro/devkit/arm/v5t_le/bin/arm_v5t_le-gcc CXX=/opt/montavista/pro/devkit/arm/v5t_le/bin/arm_v5t_le-g++
注意:
make
安裝到/prj/share目錄:
make install
完成后,可以看到/prj//share/lib目錄下多了jthread和jrtpLib的庫文件。把/prj/share/include /jrtplib3和/prj/share/include/jthread下所有的頭文件copy至/prj/share/include
4. /jrtplib-3.7.1/examples下的示例程序有可能已經交叉編譯出來了,也可能沒有,現在可以手動進行編譯。
1)copy頭文件
在 /prj/share/include目錄下有兩個文件夾分別是jrtplib和jthread的頭文件,將所有的頭文件copy至/opt /mv_pro_4.0/montavista/pro/devkit/arm/v5t_le/lib/gcc/armv5tl-montavista- linuxeabi/3.4.3/include。
2)copy庫文件
將/prj//share/lib目錄下除了pkgconfig外所有的文件copy至/opt/mv_pro_4.0/montavista/pro/devkit/arm/v5t_le/lib/armv5tl-montavista-linuxeabi/lib。
注意以上2步是為了以后交叉編譯方便,copy的具體位置決定于你的交叉編譯器查找頭文件和庫文件的位置。當然也可以不用這樣做,只不過在交叉編譯的時候需要指定頭文件和庫文件的位置。
3)交叉編譯example1.cpp
arm_v5t_le-g++ example1.cpp -o example1_ARM -ljrtp -ljthread -lpthread
可以看到example1_ARM文件,用file example1_ARM命令看到該文件是ARM平臺的。
如果沒有進行前兩步操作,編譯命令如下:
arm_v5t_le-g++ example1.cpp -o example1_ARM -I /prj/share/include -L /prj/share/lib -ljrtp -ljthread -lpthread
這里有可能會提示關于pthread的錯誤,所以最好執行前兩步的操作。
4)將/prj/share/lib目錄下的libjrtp-3.7.1.so和libjthread-1.2.1.so文件copy到開發板文件系統的/usr/lib下。
5)將第3步生成的example1_ARM復制到開發板的文件系統里。
chmod 777 example1_ARM
./example1_ARM
可以看到程序可以運行啦。
6)現在測試ARM和PC通過RTP協議傳輸數據。
首先應確保你的開發板和PC能互相ping通。編譯PC平臺的example1.cpp,編譯方法見:http://blog.163.com/munpk@126/blog/static/7307788720093221021356/。
同時在PC和開發板上運行example1,目的端口和目的地址都填對方的本地端口和IP地址,如果你在PC端和ARM端都能看到Got packet,那么恭喜你,jrtplib成功移植。
總結
以上是生活随笔為你收集整理的移植JRTPLib到Montavista的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用SDL创建一个窗口
- 下一篇: 高清 网络摄像机 华为海思3510芯片