Chinaunix首页 | 论坛 | 博客
  • 博客访问: 59184
  • 博文数量: 8
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 82
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-04 17:00
文章分类

全部博文(8)

文章存档

2016年(5)

2015年(3)

我的朋友

分类: LINUX

2015-06-04 11:49:58

一.编译arm下的sqlite3

1.在下载sqlite3源码sqlite-autoconf-xxxxxxx.tar.gz

2.解压源码包tar -zxv -f sqlite-autoconf-xxxxxxx.tar.gz,得到目录sqlite-autoconf-xxxxxxx



3.新建目录/usr/local/arm/sqlite-arm-linux作为arm sqlite的安装目录。

4.进入解压出来的目录sqlite-autoconf-xxxxxxx配置configure:./configure --host=arm-linux --prefix=/usr/local/arm/sqlite-arm-linux

5.编译安装:make&make install

6.安装完之后/usr/local/arm/sqlite-arm-linux目录下会出现一些文件,这些就是编译出来的arm下sqlite3的文件

   其中bin目录下的sqlite3就是arm下的可执行文件,include里面有sqlite3.h,交叉编译程序时要用到的。lib里面有一些共享库和静态库,交叉编译目标程序时也要用到,要拷贝到arm板子里。


7.清除一些调试信息,使库体积减小
arm-linux-strip libsqlite3.so.0.8.6

8.把lib里面的libsqlite3.so.0,libsqlite3.so.0.8.6拷贝到arm板的/usr/lib目录下。注意,libsqlite3.so.0是一个软连接文件,有很多U盘是放不了这类文件的,所以如果用U盘拷贝的话,可以只拷贝libsqlite3.so.0.8.6,然后再创建libsqlite3.so.0。
命令:
ln -s /usr/lib/libsqlite3.so.0.8.6 /usr/lib/libsqlite3.so.0

9.然后把bin目录里面的sqlite3拷贝到arm板的/usr/bin目录下,然后就可以在arm板使用sqlite3了



二.使用sqlite3 API,编译arm下的程序

要交叉编译arm下使用sqlite3 API的程序,还要把include下的sqlite3.h拷贝到arm-linux-gcc安装目录下的include目录,我这里的安装目录是/usr/local/arm/arm-2009q3/arm-none-linux-gnueabi
cp sqlite3.h /usr/local/arm/arm-2009q3/arm-none-linux-gnueabi/include/


再把库文件也拷贝过去
cp libsqlite3.s* /usr/local/arm/arm-2009q3/arm-none-linux-gnueabi/lib/


使用sqlite官网提供的例程:
01  #include 
02  #include 
03  
04  static int callback(void *NotUsed, int argc, char **argv, char **azColName){
05    int i;
06    for(i=0; isqlite3_open(argv[1], &db);
23    if( rc ){
24      fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
25 sqlite3_close(db);
26      return(1);
27    }
28    rc = sqlite3_exec(db, argv[2], callback, 0, &zErrMsg);
29    if( rc!=SQLITE_OK ){
30      fprintf(stderr, "SQL error: %s\n", zErrMsg);
31 sqlite3_free(zErrMsg);
32    }
33 sqlite3_close(db);
34    return 0;
35  }
保存为sqlitetest.c
交叉编译一下:arm-linux-gcc -o sql3test sqlitetest.c -lsqlite3
编译选项-lsqlite3要放到最后
得到了arm下的可执行文件sql3test,拷贝到arm板里运行即可
阅读(4765) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:libmad+alsa 实现arm下mp3播放

给主人留下些什么吧!~~