vs2010搭建sqlite3编译环境
来源:互联网 发布:从哪买高仿手表知乎 编辑:程序博客网 时间:2024/06/10 19:39
1. 首先从SQLite的官网http://www.sqlite.org/download.html上下载两个文件包sqlite-amalgamation-3070602.zip和sqlite-dll-win32-x86-3070600.zip
2. 解压amalgamation文件(里面包括四个文件,主要的是sqlite3.h)到D:/SQLite3/include,解压dll文件(sqlite3.def和sqlite3.dll文件)到D:/SQLite3/lib
3. 从VS2010的安装文件夹中的Visual Studio 10/VC/bin中找到LIB.exe和Link.exe,从Visual Studio 10中搜索得到mspdb100.dll文件,放入到D:/SQLite3/lib
4. 打开cmd窗口,转到D:/SQLite3/lib目录下,输入命令:LIB /DEF:sqlite3.def /machine:IX86,则会产生lib文件
5. 配置VS2010,VC++目录和库目录,分别包含include和lib文件夹
6. 写测试程序,测试是否成功配置:
#include <stdlib.h> #include "sqlite3.h" #undef SRC_FILE_NAME#define SRC_FILE_NAME "main.c"#define PRT_ERR(fmt, ...) printf("<error> "fmt,__VA_ARGS__)#define PRT_WARN(fmt, ...) printf("<warn> "fmt,__VA_ARGS__)#define PRT_INFO(fmt, ...) printf("<info> "fmt,__VA_ARGS__)#define OK 0#define ERROR -1int callback(void *params, int columnNum, char **columnVal, char **columnName){int i = 0;//printf("columnNum=%d\n",columnNum);for(i = 0; i < columnNum; i++){printf("%s:%s\t",columnName[i],columnVal[i]);}printf("\n");return 0;}int main(){ int ret = 0; char sql[512] = {0}; sqlite3 *db = NULL;char *errmsg = NULL;sqlite3_stmt *stmt;int i = 0;char ca[255];//open db ret = sqlite3_open("demodb", &db); if(ret != SQLITE_OK) { PRT_ERR("%s:%s:%d %s\n",__FUNCTION__,SRC_FILE_NAME,__LINE__,sqlite3_errmsg(db)); sqlite3_close(db);return ERROR;} PRT_INFO("%s:%s:%d open database!\n",__FUNCTION__,SRC_FILE_NAME,__LINE__);//create tbl_snprintf(sql, sizeof(sql),"drop table if exists tbl1;"); ret = sqlite3_exec(db, sql, NULL, NULL, &errmsg);if(ret != SQLITE_OK){ PRT_ERR("%s:%s:%d %s\n",__FUNCTION__,SRC_FILE_NAME,__LINE__,errmsg); sqlite3_free(errmsg);return ERROR;}_snprintf(sql, sizeof(sql),"CREATE TABLE IF NOT EXISTS tbl1""(id integer primary key autoincrement, name varchar(32), age integer);"); ret = sqlite3_exec(db, sql, NULL, NULL, &errmsg);if(ret != SQLITE_OK){ PRT_ERR("%s:%s:%d %s\n",__FUNCTION__,SRC_FILE_NAME,__LINE__,errmsg); sqlite3_free(errmsg);return ERROR;}//insert tbl/*_snprintf(sql, sizeof(sql),"INSERT INTO tbl1 ""values(NULL, 'A', 20);"); ret = sqlite3_exec(db, sql, NULL, NULL, &errmsg);if(ret != SQLITE_OK){ PRT_ERR("%s:%s:%d %s\n",__FUNCTION__,SRC_FILE_NAME,__LINE__,errmsg); sqlite3_free(errmsg);return ERROR;}*///prepare statementsqlite3_prepare_v2(db, "insert into tbl1(name,age) values(?,?)", -1, &stmt, 0);for(i = 10; i < 20; i++){sprintf(ca, "HELLO#%i", i);sqlite3_bind_text(stmt, 1, ca, strlen(ca), NULL);sqlite3_bind_int(stmt, 2, i);sqlite3_step(stmt);sqlite3_reset(stmt);}sqlite3_finalize(stmt);//query/*_snprintf(sql, sizeof(sql),"select datetime('now');"); ret = sqlite3_exec(db, sql, callback, NULL, &errmsg);if(ret != SQLITE_OK){ PRT_ERR("%s:%s:%d %s\n",__FUNCTION__,SRC_FILE_NAME,__LINE__,errmsg); sqlite3_free(errmsg);return ERROR;}*/_snprintf(sql, sizeof(sql),"select * from tbl1;"); ret = sqlite3_exec(db, sql, callback, NULL, &errmsg);if(ret != SQLITE_OK){ PRT_ERR("%s:%s:%d %s\n",__FUNCTION__,SRC_FILE_NAME,__LINE__,errmsg); sqlite3_free(errmsg);return ERROR;} //close tbl sqlite3_close(db); return OK;}
0 0
- vs2010搭建sqlite3编译环境
- VS2010 ENTITY FRAMEWORK6 SQLite3 安装搭建环境
- VS2010搭建WDK编译环境
- VS2010下编译sqlite3
- VS2010下编译sqlite3
- VS2010下编译sqlite3
- VS2010下编译sqlite3
- 利用VS2010搭建命令行编译环境
- Lua环境搭建编译[Lua5.2+VS2010]
- vs2010下搭建winpcap编译环境
- codeblocks+QT+vs2010集成编译环境的搭建
- CUDA5.5与VS2010的编译环境搭建
- 使用vs2010和masm32搭建win32汇编语言编程编译环境
- CUDA5.5与VS2010的编译环境搭建
- cuda5.5与VS2010的编译环境搭建
- win10 + VS2010 + OpenCV2.4.10重编译OpenCV开发环境搭建
- CUDA5.5与VS2010的编译环境搭建
- OSG+VS2010+win7环境搭建---OsgEarth编译[转]
- SGU 107 C++ 数论
- iOS应用发布流程
- 调教“光盘刻录大师”之“视频截取”
- 腾讯新闻评论数据爬取
- Android设备间Wifi通信
- vs2010搭建sqlite3编译环境
- HDFS 的Trash回收站功能的配置、使用
- Android应用中执行shell脚本的工具类的示例
- linux:SUID、SGID详解
- JVM指令集
- Android中图像变换Matrix的原理
- LintCode-寻找旋转排序数组中的最小值 II
- js跨域访问问题【常见问题、java面试中也常问】
- 第十一周 项目一:(2)存储班长信息的学生类