linux一些库文件的交叉编译
参考出处:一步步教你交叉编译嵌入式linux GUI-directfb+gtk
一、注意点:
1、在./configure的--host的选项可以为arm-linux或arm-none-linux-gnueabi(编译工具cross-4.3.2,也是本次用的编译工具,在安装目录下的/bin文件夹里可以用ls -l看到编译工具除了arm-linux-gcc和arm-none-linux-gnueabi-gcc,arm-linux-g++和arm-none-linux-gnueabi-g++不同外,其余的都相同,都是连接),他们两个是不同的,前者貌似采用eabi,后者采用oabi(新手一个,猜测的).这关系到使用这些库的程序在板上的无法运行(出现得最多的是在板运行程序时会出现:illegal instruction),如果内核打开对EABI的支持,那么最好使用EABI进行编译(我的板上linux内核版本是2.6.29,已经打开了对EABI的支持,且qtopia2.20的文件系统也支持EABI),所以采用arm-linux进行编译。
具体可以参考:
arm Linux 2.6高版本中的系统调用方式
GNU arm 汇编求助
2、如果采用一种编译器进行编译,那么被依赖的那个库也一样要用同种编译器进行编译。
二、设置环境变量(本人用的是ubuntu9.04)
export SOURCE_PATH=/home/evix/src
export PREFIX=/opt/arm
export LDFLAGS=-L$PREFIX/lib
export CFLAGS="-g -I$PREFIX/include"
export PKG_CONFIG_PATH=${PREFIX}/lib/pkgconfig
三、编译库文件(#在最前前面的表示注释)
1.交叉编译tslib, 依赖的库: 无
=========开始交叉编译tslib=========
安装编译过程需用到的程序
apt-get install autoconf(或autoconf2.13)
apt-get install automake
apt-get install libtool
cd ${BUILDDIR}
tar xzvf ${SOURCE_PATH}/tslib-1.4.tar.gz
cd tslib
source autogen.sh
./configure --host=arm-linux --prefix=$PREFIX ac_cv_func_malloc_0_nonnull=yes
make
make install
2.交叉编译glib, 依赖的库: 无
=========开始交叉编译glib=========
cd ${BUILDDIR}
tar xzvf ${SOURCE_PATH}/glib-2.22.2.tar.gz
cd glib-2.22.2
echo "glib_cv_stack_grows=no" > arm-linux.cache
echo "glib_cv_has__inline=yes" >> arm-linux.cache
echo "glib_cv_working_bcopy=no" >> arm-linux.cache
echo "glib_cv_uscore=no" >> arm-linux.cache
echo "ac_cv_func_posix_getpwuid_r=yes" >> arm-linux.cache
echo "ac_cv_func_posix_getgrgid_r=yes" >> arm-linux.cache
./config
相关文档:
1. HCI层协议概述:
HCI提供一套统一的方法来访问Bluetooth底层。如图所示:
从图上可以看出,Host Controller Interface(HCI) 就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth Dongle。
在Host这一端:application,SDP,L2cap等协议 ......
最近下了一个linux 0.1版本的源代码,文件是rar格式。
以下是原帖内容:
安装:
如果是以tarball形式安装安装,去rar网站下载相应版本的tarball。地址为http://www.rarlab.com/
以3.8版本为例,如果是i386的平台,执行以下命令 ......
在移动硬盘与硬盘之间、本地与网络(FTP,SSH等)之间备份数据、同步文件夹的需求对于Linux用户是很常见的。在Windows中,有Total Commander等工具同步文件夹的功能很强大,那么Linux中有哪些同步文件夹的软件呢?
rsync和grsync
grsync的截图
rsync是Linux中重要的文件同步工具,支持本地和远程的文件同步工具,而grs ......
Linux版本:fedora 11 内核2.6
1.确定安装vsftpd。
# su
# yum install vsft ......