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和其他的库文件。