参考出处:一步步教你交叉编译嵌入式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进行编译。
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&#x