嵌入式linux移植——ptlib、H323plus、oh323tut 交叉编译 III

2019-07-13 04:14发布

【补充】开发环境:Ubuntu16.04 、Hi3531a     ;  编译工具链:arm-hisiv300-linux  ;   这一篇博客讲的是最后一个开源库 openh323tut 的交叉编译和移植了~ 首先明确一下oh323tut的身份,一个比起simph323更加简单的而且只能实现发送音频的h323终端。 如果按照之前arm_ptlb编译出来的环境,这个oh323无法编译成功(报各种找不到函数定义的错误),因为它同simph323一样都依赖ptlib,而大家应该还记得我之前是把ptlib的configure参数设置为 minsize,说明会缺少了一些依赖库,而这个tut需要依赖ptlib的一些库才能够实现编译,现在可以再次改动ptlib的configure参数了~ 能够使得oh323tut能够成功编译的configurePtlib.sh版本如下: kai@ubuntu:/home/share/armFile/arm_ptlib$ cat configurePtlib.sh # Copyright 2018.8.13 , DreamKite ,408 lab #! /bin/bash ./configure --host=arm-hisiv300-linux --disable-sdl --enable-wavfile --enable-telnet --disable-openssl --disable-resolver  (有可能你的sh脚本内容跟我一样,不过顺序不一样,记得顺序很重要!!前后顺序不一样编出来的效果也是不一样的,亲测!) oh323tut在arm板子编译通过之后,复制一个.wav文件到tut可执行文件的相同目录下(这里有些.wav文件并不可行,目前还没搞清楚为什么,可能是声音的采集频率有关系吧,我的博客也上传了我亲测可以使用通过的一个测试文件~) 嵌入式arm板这边输入: # ./oh323tut -f oh323tu_test.wav -n -u arm 虚拟机linux上面输入: ./simph323 -n -u kai arm@192.168.1.118:1820 (注释:oh323tut的端口使用默认使用1820的端口号,这个1820可以改动,不过后来我发现了一个端口号理论上的连接数是:无上限,这我就放心了,这个端口号最好也不用改,按照默认的来的就行,以免跟其他服务器的监听端口重复) 然后记得打开虚拟机和主机的声音开关 ~你就会听到tut那边传输过来的声音了~ 可视的现象如下: arm板: 虚拟机:    你虚拟机这边的simph323要保障有音频输出设备 ,即 sound output device,我这边没还有添加音频输入设备随意说找不到 “Null Audio”,这里应该是一个接口,以后simph323开发的时候可以重写一个null audio来用,至于在虚拟机上面对simph323的编译使用欢迎参考我的另外一篇博客——H323plus的编译、安装、配置和使用。    --------------------[补充]嵌入式学到这里,如果你对netstat还掌握不熟练的话,请看下面------------------------ 【netstat】命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备。
    netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。
    该命令的一般格式为:
      netstat [选项]
      命令中各选项的含义如下:
      -a 显示所有socket,包括正在监听的。
      -c 每隔1秒就重新显示一遍,直到用户中断它。
      -i 显示所有网络接口的信息,格式同“ifconfig -e”。
      -n 以网络IP地址代替名称,显示出网络连接情形。
      -r 显示核心路由表,格式同“route -e”。
      -t 显示TCP协议的连接情况。
      -u 显示UDP协议的连接情况。
      -v 显示正在进行的工作。
1. netstat -an | grep LISTEN
      0.0.0.0的就是每个IP都有的服务,写明哪个IP的就是绑定那个IP的服务。
2. netstat -tln
      用来查看linux的端口使用情况
3. /etc/init.d/vsftp start
      是用来启动ftp端口~!
4. netstat
      查看已经连接的服务端口(ESTABLISHED)
5. netstat -a
      查看所有的服务端口(LISTEN,ESTABLISHED)
6. sudo netstat -ap
      查看所有的服务端口并显示对应的服务程序名