H323plus交叉编译

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/li13888557180/article/details/79336038

      H323plus交叉编译过几次,每次编译都碰到不同的问题,现记录一下。

 1、交叉编译链采用arm-none-linux-gnueabi,网上找的4.8版本。下载解压到~/arm-none-linux-gnueabi。配置~/.bashrc,最后面增加

export PATH=$PATH:/root/arm-none-linux-gnueabi/bin
export CROSS_COMPILE=arm-none-linux-gnueabi-
PTLIBDIR=~/ptlib
OPENH323DIR=/root/h323plus
PWLIBDIR=/root/ptlib

其中前两行是配置交叉编译链的,后面三行是配置PTLIB和OPENH323路径。

修改完成保存,source一下.bashrc。

2、编译PTLIB。

配置命令:CC=arm-none-linux-gnueabi-gcc ./configure --host=arm-none-linux-gnueabi

由于是交叉编译,没有设置--prefix,也是因为设置--prefix有小点问题。配置的时候,依然需要安装FLEX。

make all命令执行编译,没有意外,应该可以编译成功。生成的库文件在lib_linux_arm下。

3、配置H323PLUS

配置命令:

CC=arm-none-linux-gnueabi-gcc ./configure --host=arm-linux

make all ,编译。编译时候,偷懒,直接将ptlib的include目录下的PTLIB 、PTCLIB及两个include下面的两个头文件搬到H323PLUS目录下面。同时,将PTLIB生成的库文件lib_linux_arm下面的文件搬到h323plus下面的LIB目录下。

编译完成,生成libh323_arm_.so和其他的库文件。

交叉编译整体还是比较顺利,编译的时候,编译工具死活找不到包含文件,即使配置了includedir也找不到。只能用上面的笨方法解决了。
注意一点:如果要执行Install,请指定目录,否则缺省安装目录是安装在/usr/local,这样,会给其他的编译工作带来安全隐患。
 4、配置编译gnugk
gnugk的配置同上。
root@lichh-VirtualBox:~/gnugk# CC=arm-none-linux-gnueabi-gcc ./configure --host=arm-linux,上面两步没有问题,GNUGK的配置也不会有问题。
make all 指令编译。编译的过程会提示找不到库的错误。gnugk在目录/usr/arm/lib_linux_arm寻找PTLIB和H323PLUS库,所以,你需要创建/usr/arm/lib_linux_arm目录,并将上面生成的PTLIB和h323plus库文件拷贝到创建的目录。再编译就不会有问题。
注:上面编译过程都是采用最基本的配置。如果增加选项,可能需要交叉编译新增加选项所需要的库。
下面的工作是找一部root的手机,打造手机版gk。
一个愉快的春节!

展开阅读全文

没有更多推荐了,返回首页