SQLite3在ARM Cortex-A9开发板上的移植

Posted 华清远见

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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


【近期文章推荐】

1.

2.

3.

4.

5.

6.

回复“0-71”任一数字,即可查看往期文章精选哦

长按二维码3

与10万程序高手做朋友

每天干货享不停

 

免费讲座 | 干货分享 | 程序员生活 | 就业招聘

高端IT就业培训专家

m.embedu.org


以上是关于SQLite3在ARM Cortex-A9开发板上的移植的主要内容,如果未能解决你的问题,请参考以下文章

编译在arm板上使用的sqlite3的静动态库

ARM Cortex-A9 (tiny 4412)

Cortex-A9 4412开发板支持 JTAG 仿真器么,怎么用?

你能帮我理解 ARM Cortex-A9 上的缓存行为吗?

为啥 GCC 会为 ARM Cortex-A9 产生非法未对齐访问

ARM开发入门与汇编基础