今天用到sqlite相关函数接口,要用到#include 头文件。如果之前没有安装过sqlite3,这个库文件肯定是找不到的。
网上看到需要安装sqlite3 libsqlite3-dev, 顺利的话apt-get就能安装,如果像我一样软件源比较旧,就得自己下载源码或者deb文件安装了。
因为能够下载的文件不好找,特此把今天下载的地址记录下来。
1、安装sqlite3
下载地址http://www.sqlite.org/download.html。
下载sqlite-autoconf-3080500.tar.gz
解压文件tar -zxvf sqlite-autoconf-3080500.tar.gz
解压后生成sqlite-autoconf-3080500目录 cd 进入
./configure
make
sudo make install
2、安装libsqlite3库
下载libsqlite3-dev_3.6.22-1_i386.deb,用sudo dpkg -i libsqlite3-dev_3.6.22-1_i386.deb命令安装。
安装libsqlite3-dev提示:
“libsqlite3-dev 依赖于 libsqlite3-0 (= 3.6.22-1);然而:系统中 libsqlite3-0 的版本为 3.7.7-2ubuntu2。
dpkg:处理 libsqlite3-dev (--install)时出错:依赖关系问题 - 仍未被配置”
libsqlite3-0和libsqlite3-dev的版本好像必须要匹配,因此又下了libsqlite3-0_3.6.22-1_i386.deb来安装对应版本的libsqlite3-0。
libsqlite3-dev安装完成后,会将sqlite3.h放入/usr/include目录,将libsqlite3.so同样放入 GCC能够找到的目录.
3、编译选项
如果没有在编译时加上 -lsqlite3 选项,编译时会出现如下错误。sqlite3 和 pthread一样需要在编译时加上编译选项。
Infunction`main': main.cpp:(.text+0x64): undefined reference to `sqlite3_open'
g++main.cpp-lsqlite3
在eclipse c++的IDE里编译,需要在项目设置里 加上sqlite3库文件。