1、下载 SQLite3源码
地址:http://www.sqlite.org/download.html
image.png2、将源码包复制到主机工作目录下
cd /usr
mkdir sqlite3
cd /usr/sqlite3
或者
cd /home/star/APP/
mkdir sqlite3
cd /home/star/APP/sqlite3
tar zxvf sqlite-autoconf-3250300.tar.gz
3、配置编译选项
mkdir ../install #创建安装目录
./configure --prefix=/home/star/APP/sqlite3/install
交叉编译
sudo apt install gcc-arm-linux-gnueabihf 安装交叉编译器
whereis arm-linux-gnueabihf-gcc
which arm-linux-gnueabihf-gcc
arm-linux-gnueabihf-gcc -v
验证ok
./configure CC=arm-linux-gnueabihf-gcc --host=arm-linux --prefix=/home/star/APP/sqlite3/arm-install
说明:CC赋值为嵌入式开发环境所使用的交叉编译工具,--host指定软件运行环境为arm-linux, --prefix指定源码交叉编译后生成文件的路径。
4、编译安装
make
make install
5、使用下列命令进行验证:
root@embest:/usr/sqlite3/install/bin# ./sqlite3
SQLite version 3.25.3 2018-11-05 20:37:38
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite>.quit
退出
二进制可执行文件获得后可直接从第6步开始
6、复制文件在开发板上制作链接
将sqlite3复制到/usr/local/bin目录,将动态库文件复制到/usr/local/lib目录,并对动态库做链接。
cp /media/sda1/sqlite3 /usr/local/bin
cp /media/sda1 libsqlite3.so.0.8.6 /usr/local/lib
cd /usr/local/lib
ln -s libsqlite3.so.0.8.6 libsqlite3.so.0
ln -s libsqlite3.so.0.8.6 libsqlite3.so
chmod 4755 /usr/local/bin/sqlite3 or 777(可选)
which sqlite3
解决error while loading shared libraries: libXXX.so.X: cannot open shared object file: No such file
分析原因:链接器ld提示找不到库文件。ld默认的目录是/lib和/usr/lib,如果放在其他路径也可以,需要让ld知道库文件所在的路径。
1.将用户用到的库统一放到一个目录,如 /usr/loca/lib
# cp libXXX.so.X /usr/loca/lib/
2.向库配置文件中,写入库文件所在目录
# vim /etc/ld.so.conf.d/usr-libs.conf
/usr/local/lib
3.更新/etc/ld.so.cache文件
# ldconfig
网友评论