Ubuntu编译安装sqlite3库,3、sqlite代码
1.环境
Ubuntu 20.04.4 LTS
2、sqlite3数据库的优势
sqlite3属于轻量级的数据库,特别适用于嵌入式设备,部署方便、操作简单。
3、sqlite代码获取
https://www.sqlite.org/2016/sqlite-autoconf-3110000.tar.gz
4、代码编译
mkdir sqlite
linux下,终端窗口输入wget https://www.sqlite.org/2016/sqlite-autoconf-3110000.tar.gz即可拉取。
解压指令:tar -zxvf sqlite-autoconf-3110000.tar.gz
cd sqlite/sqlite-autoconf-3110000
执行:
第一步:
./configure --prefix=/home/bbb/test(//--prefix用于指定sqlite库文件、头文件和可行性命令的安装路径)
第二步:
make //进行编译
第三步:
make install (把sqlite安装到--prefix指定的目录下)
顺利执行后,在/home/bbb/test目录下会出现四个文件夹,即:
- bin 存放sqlite命令文件
- include 存放sqlite的头文件
- lib 存放sqlite库文件,包括静态库和动态库
- share 存放帮助文件等辅助性的文档
5、移植
Linux中存放系统库文件的位置usr/lib、usr/include;
当要使用第三方库函数时,将.h和.so .a文件等加入usr/include、usr/lib即可;
即cd /home/bbb/test/lib cd /home/bbb/test/include
cp libsqlite3* /usr/lib/ cp * /usr/include/
6、编译测试代码
#include <stdio.h> #include <sqlite3.h> int main(int argc, char *argv[]) { sqlite3 *handle = NULL; int iret = 0; iret = sqlite3_open("test.db", &handle); if (iret != SQLITE_OK) { printf("sqlite3_open error, reason = %s\n", sqlite3_errmsg(handle)); return 0; } if(handle != NULL) { (void)sqlite3_close(handle); } return 0; }
gcc -o test test.c -lsqlite3 //默认链接动态库
gcc -o test test.c -static -lsqlite3 -lpthread -ldl //指定链接动态库