C++结合SQLite----Code:blocks配置
本教程包括三部分:
1. 下载
2. 编译以
3. 工程中配置
4. 测试
:)使用的环境时64位windows,code block17.12,sqlite3.25.2 ( :
推荐学习网站:
1. https://www.tutorialspoint.com/sqlite/sqlite_c_cpp.htm
2. http://www.runoob.com/sqlite/sqlite-c-cpp.html
I 下载:https://sqlite.org/download.html
a. 源码的下载:需要使用其中的sqlite3.h
b. 编译过的32位的文件的下载
这里注意,在官网中提供了多种的下载,有源码的下载也有已经编译的文件的下载,这里建议直接使用已经编译的下载文件。还有一个非常重要的问题就是针对不同位数电脑下载,下图是我下载时最新的版本下载截图:
从中你可以发现有32位,64位的下载版本。我在Code:blocks中即使配置为64位的编译模式,虽然编译不会有错,但是运行时还是会报出在:0000007H处运行错误,错误的原因其实就是所使用的位数不能匹配,在Code:blocks中使用的是--g32这样的编译器,如果下载64位的文件使用,当然是不可以的。所以个人建议使用32-bit版本。
下载后解压文件,把有用的文件组合起来如下所示,截图如下:
这里属于下载的文件有:1,2,4,剩下的是你需要生成的 ,这里使用sqlite3.def 生成.lib文件。
II VC编译,
找到VC或VS的bin文件路径:
path:Z:\install location\visual\VC\bin
这里使用
path1:代表sqlite3.def文件所在的目录
打开cmd窗口或者进入bin文件后在上方的路径栏中直接输入:cmd 在当前文件目录下打开命令行窗口
输入如下命令:
---> lib /def:path1 /machine:ix86
也可已使用全路径:
------> path lib /def path1/sqlite3.def /machine:ix86
会在VC的bin目录下生成sqlite3.lib和sqlite3的外部导入文件。把sqlite3.lib,sqlite3.h,sqlite3.dll三个文件放在一起
III 环境配置
新建一个Code:blocks下的一个项目SQLite,把sqlite3.dll放在SQLite-->bin-->Debug下,其他的文件就放在SQLite下即可,这时需要在Code:blocks中添加sqlite3.h头文件。 最后一步配置就是在编译器配置中导入sqlite3.lib
Settings--->Compiler--->Linker settings--->add,找到sqlite3.lib文件所在添加即可,最后点击确认后退出。
IV 测试(代码来自经典的网络教程)
1 #include "stdio.h" 2 #include "sqlite3.h" 3 4 int main(int argc, char* argv[]) { 5 sqlite3 *db; 6 char *zErrMsg = 0; 7 int rc; 8 9 rc = sqlite3_open("test.db", &db); 10 11 if( rc ) { 12 fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db)); 13 return(0); 14 } else { 15 fprintf(stderr, "Opened database successfully\n"); 16 } 17 sqlite3_close(db); 18 }
编译-->>运行,运行结果如下: