loudmouth库在arm开发板linux环境下的移植
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-05-02
上次说到了将loudmouth在pc机上顺利编译和运行,这次主要讲将其移植到arm开发板的过程.
loudmouth库是需要glib-2.0和gnutls的支持的,但是后者是不![]() ![]() ![]() ![]() 这是loudmouth的唯一 ![]()
export ARCH=arm export ROOTFS_DIR=/home/peter/workspace CC=$ARCH-linux-gcc echo ac_cv_type_long_long=yes>$ARCH-linux.cache echo glib_cv_long_long_format=ll>>$ARCH-linux.cache echo glib_cv_stack_grows=no>>$ARCH-linux.cache echo glib_cv_uscore=no>>$ARCH-linux.cache echo ac_cv_func_posix_getpwuid_r=yes>>$ARCH-linux.cache make distclean ./configure --prefix=$ROOTFS_DIR/usr --cache-file=$ARCH-linux.cache --build=i686-pc-linux-gnu --target=$ARCH-linux --host=$ARCH-linux 比较特殊的地方就是先要写好这个arm-linux.cache这个文件.这里,ROOTFS_DIR是我们的工作目录,可以任意的修改,之后的一些相关的参数也要跟随这个目录而做相应的改动.然后在shell里运行: chmod a x cross_glib.sh ./cross_glib.sh 如果配置过程没问题,下面就可以踏实的make了. make
make install 我一般会将配置和编译分开做,这样我觉得碰到问题的时候会比较清楚,可以直接将这个过程放到脚本里. 3.loudmouth-1.0的移植 对于loudmouth的移植和上面的方法类似.请参见下面的脚本: #!/bin/bash export ROOTFS_DIR=/home/peter/workspace export ARCH=arm export CC=$ARCH-linux-gcc ./configure --prefix=$ROOTFS_DIR/usr --build=i686-pc-linux-gnu --target=$ARCH-linux --host=$ARCH-linux --with-ssl=no "CFLAGS=-I$ROOTFS_DIR/usr/include/glib-2.0 -I$ROOTFS_DIR/usr/lib/glib-2.0/include" "LIBS=-L$ROOTFS_DIR/usr/lib -lglib-2.0" make make install 这里应该是要指定一下glib的头文件和库文件的地址.我这里还是使用的--with-ssl=no的方式. 经过这个过程后,在$ROOTFS_DIR/usr/lib就可以看到编译好的glib的库文件还有loudmouth的库文件了.我们可以用file命令检查一下,看看是否是arm的格式. 4.嵌入式应用程序中loudmouth库的使用 下面,我们就可以开始使用了.我这里讲的当然不是怎么写源程序,这要参考loudmouth的手册.我还是主要说编译和运行的方法. 编译的话,应该可以想到,直接arm-linux-gcc mysource.c肯定是不行的.主要是要告诉编译器需要的库和头文件的具体位置.这里我们还是可以用到pkg-config这个东西的.我们这里不能直接pkg-config --cflags glib-2.0, ![]() |
||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于loudmouth库在arm开发板linux环境下的移植的所有评论