1、下载c源码
sqlite官网下载C源码:SQLite Download Page
点击第二个链接下载
2、解压
1、将下载好的c源码,放在linux下,
2、解压压缩包:tar -zxvf sqlite-autoconf-3460100
新建一个用存放 编译出来的文件: mkdir /home/linux/Desktop/build
3、运行配置文件:./configure -host=arm-linux -prefix=/home/linux/Desktop/build
–host:指定交叉编译工具, 和编译 Linux 的编译器一致
–prefix: 指定安装目录, 编译后生成的文件放在此目录, 必须是绝对路径
4、编译
执行configure命令,生成Makefile文件后,执行make命令:make
执行make后,再执行make install
完成之后可以发现,之前所建目录build下生成
bin include lib share四个目录。
3、移植文件
主要用到的文件
有./bin/sqlite3,./include/sqlite3.h以及./lib/下的库文件。
挂载 后复制较大的文件会出现以下问题
nfs:server is not responding,still trying
原因分析:NFS 的默认传输协议是 UDP,而PC机与嵌入式系统通过UPD交互时就会出现严重的网卡丢包现象。
解决方法:在客户端(即开发板)改用TCP协议,使用下面的命令,
mount -t nfs -o tcp,nolock 192.168.1.200:/home/linux/nfs /mnt
1、bin文件夹下的sqlite3,是sqlite可执行应用程序,下载到板子Linux系统下的/bin目录
并添加文件可执行权限。在板子Linux系统命令行下执行:
chmod 777 sqlite3
2、移植库文件
把lib/文件夹下的libsqlite3.so.0.8.6 下载到板子目录/lib下(libsqlite3.so和libsqlite3.so.0都是libsqlite3.so.0.8.6的软链接文件)
下载到板子后,还需对它建立软链接文件,因为可执行程序寻找的动态链接库的名字为libsqlite3.so.0。
[root@FriendlyARM plg]# ln -s /lib/libsqlite3.so.0.8.6 /lib/libsqlite3.so.0
交叉编译
在linux下编译sqlite3有关文件到开发板上是,编译命令是
arm-linux-gcc main.c -lsqlite3 -I /home/linux/Desktop/build/include -L /home/linux/Desktop/build/lib