sqlite3是什么就不用多说了,主要记录一下怎么用,算是备忘吧。这一部分主要说的是pc上如何用,以后有机会再记录一下静态编译。首先从官网下载sqlite-autoconf-xx-xx.tar.gz。
然后解压
tar -zxvf sqlite-autoconf-3070701.tar.gz
解压后编译
cd sqlite-autoconf-3070701/ ./configure&&make
make后在sqlite-autoconf-3070701/文件夹中有一个“.libs"的隐藏目录,里面存放的是sqlite3的库文件cd ./libs miko@bogon:~/Downloads/sqlite-autoconf-3070701/.libs> ls libsqlite3.a libsqlite3.lai libsqlite3.so.0 sqlite3 libsqlite3.la libsqlite3.so libsqlite3.so.0.8.6 sqlite3.o
c语言使用sqlite3时这些是必须的。在工程目录中建立sqlite3文件夹专门存放sqlite3相关的文件。假设工程目录是pro
miko@bogon:~> mkdir sqlite3
在sqlite3目录中创建lib目录存放库文件,创建include目录存放sqlite3的头文件miko@bogon:~> cd sqlite3/ miko@bogon:~/sqlite3> mkdir include miko@bogon:~/sqlite3> mkdir lib
将刚才./libs目录中的文件移动到此lib目录中miko@bogon:~/sqlite3> cp ~/Downloads/sqlite-autoconf-3070701/.libs/* lib/
将sqlite3的头文件复制到include目录中
miko@bogon:~/sqlite3> cp ~/Downloads/sqlite-autoconf-3070701/sqlite3.h include/
然后就可以使用sqlite3了。当然编译时要指定头文件路径,链接是指定库文件路径
给一个例子,这个例子是网上看到的挺简短的,但是能够说明问题就好
// name: opendbsqlite.c // This prog is used to test C/C++ API for sqlite3.It is very simple,ha! // Author : zieckey All rights reserved. // data : 2006/11/13 #include <stdio.h> #include <stdlib.h> #include <sqlite3.h> int main( void ) { sqlite3 *db=NULL; char *zErrMsg = 0; int rc; //打开指定的数据库文件,如果不存在将创建一个同名的数据库文件 rc = sqlite3_open("zieckey.db", &db); if( rc ) { fprintf(stderr, "Can't open database: %s ", sqlite3_errmsg(db)); sqlite3_close(db); exit(1); } else printf("You have opened a sqlite3 database named zieckey.db successfully! Congratulations! Have fun ! ^-^ "); sqlite3_close(db); //关闭数据库 return 0; }
将源文件保存在项目目录即pro目录下在编译时指定头文件位置
-I sqlite3/include
链接时指定库文件位置-L sqlite3/libs -l sqlite3
这里给出我的makefile文件以作参考target = app src = $(wildcard *.c) obj = $(patsubst %.c, %.o, $(src)) CC = gcc # debug Cflags = -g -Wall -ansi # release #CFLAGS = -O -Wall -ansi # include dir #INCLUDE = . #options for sqlite3 INCLUDE_SQLITE3 = sqlite3/include #lin LIB_SQLITE3 = sqlite3/libs -l sqlite3 LDFLAGS = $(target):$(obj) $(CC) -L $(LIB_SQLITE3) $(LDFLAGS) $^ -o $@ %.o:%.c $(CC) -I $(INCLUDE_SQLITE3) -c $(CFLAGS) {1}lt; -o $@ clean: -rm -f *.o $(target) .PHONY:clean
makefile和源文件 opendbsqlite.c都放在项目根目录下
然后make 即可得到可执行文件app
运行app
miko@bogon:~> make gcc -I sqlite3/include -c opendbsqlite.c -o opendbsqlite.o gcc -L sqlite3/libs -l sqlite3 opendbsqlite.o -o app miko@bogon:~> ./app You have opened a sqlite3 database named zieckey.db successfully! Congratulations! Have fun ! ^-^
linux下c语言操作sqlite3(1)
最新推荐文章于 2024-05-16 14:52:24 发布