SQLite3在ARM Cortex-A9开发板上的移植
1、解压sqlite3源码
# tar xvf sqlite-autoconf-3081002.tar.gz
2、进到源码目录并定制Makefile
# cd sqlite-autoconf-3081002
#./configure --prefix=$PWD/build --host=arm-linux
CC=/opt/arm-linux-gcc-4.6.4/bin/arm-linux-gcc
OR
# ./configure --prefix=$PWD/build --host=i386-linux
说明
--prefix: 指定安装路径
--host:指定主机编译环境
arm-linux是指ARM交叉编译
i386-linux是指x86系统
CC:指定编译器
如果--host是arm-linux则需要交叉编译工具链
如果--host是i386-linux则不需要指定编译器,而使用系统默认的gcc
例:移植到ARM Cortex-A9
#./configure --prefix=$PWD/build --host=arm-none-linux-gnueabi
CC=/home/farsight/gcc-4.6.4/bin/arm-none-linux-gnueabi-gcc
注: arm-none-linux-gnueabi ------ 为A9开发板的交叉编译工具
/home/farsight/gcc-4.6.4/bin/arm-none-linux-gnueabi-gcc ------为交叉编译工具路径
3、编译
# make
4、安装
# make install
5、移植到A9板子上:
找到交叉工具链的目录
~#which arm-none-linux-gnueabi-gcc
得到: /home/farsight/gcc-4.6.4/bin/arm-none-linux-gnueabi-gcc
拷贝头文件:
进入sqlite3的头文件目录:a
#cd /sqlite-autoconf-3081002/build/include
把所有头文件拷贝到交叉编译工具的头文件目录下:
#cp -a ./* /home/farsight/gcc-4.6.4/arm-arm1176jzfssf-linux-gnueabi/sysroot/usr/include/ ---->此路径的头文件是虚拟机CROSS_COMPILE的,为以后编译对应的视频应用程序做好准备工作。
拷贝动态库
进入sqlite3的库文件目录:
#cd sqlite-autoconf-3081002/build/lib
把所有库文件拷贝到交叉编译工具的库文件目录下:
#cp -a ./* /home/farsight/gcc-4.6.4/arm-arm1176jzfssf-linux-gnueabi/lib
拷贝库到板子上
# cp -a sqlite-autoconf-3081002/build/lib/* /source/rootfs/lib/
编译时加上-lsqlite3:
#arm-none-linux-gnueabi-gcc *.c -o app -lsqlite3
这样就移植过去了?
是呀 你有学过相关的知识吗?还是在自己自学呀