vs vs配置sqlite3连接引擎(驱动)指南(一)vs篇

时间:2024-03-08 10:06:47

特此鸣谢作者 https://blog.csdn.net/qq_37596943/article/details/104058508本篇一部分内容受他启发  

这几天,内心忽然洋溢着用C语言写个游戏配置文件编辑小程序,再配上个sqlite3轻型数据库,多么美好美妙啊,想到这我的内心快乐的歌唱起来,But,程序员的宿敌------“开发环境配置恶魔”却狞笑着说“hehehehehehehehehehehe想的倒美,本宫要不让你产生点去安定医院看门诊的冲动,休想配置成功......”

这一切当然得归功于我们可爱的微软,奋(吃)发(饱)向(了)上(撑),推(的)陈出新。

实际上从sqlite3的C语言操作语法来说,变化并不大,但跟所有的数据库产品一样,驱动的配置变化还是很频繁,先给出连接成功的测试代码

环境:win10  vs2019 sqlite3.31.1

  • 先奉上vs2019测试代码 你在网上搜到很多帖子,他们保准告诉你包含sqlite3.h,但是vs2019可不care,他会告诉你“他妈的sqlite3.h是什么东西,老子不看!”
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include <winsqlite/winsqlite3.h> //看这,最关键
int main()
{
    sqlite3* slt;
    int len;
    len = sqlite3_open("user", &slt);
    if (len)
    {
        /*  fprintf函数格式化输出错误信息到指定的stderr文件流中  */
        fprintf(stderr, "Can\'t open database: %s\n", sqlite3_errmsg(slt));//sqlite3_errmsg(db)用以获得数据库打开错误码的英文描述。
        sqlite3_close(slt);
        exit(1);
    }
    else printf("You have opened a sqlite3 database named user successfully!\n");

    system("pause");
    return 0;
}
  • 配置n部曲(vs2019)

1.下载sqlite3

注意,这一步坑就开始了-----根据vs版本不同,文件的需求有所不同,先说vs2017,vs2019都需要的(见下图):根据需要你可以选择32位或者64位的连接驱动(连接引擎)文件,但是无论如何:tools里的文件是成功安装sqlite3数据库前提

 

 tools里的文件

 

 32位或64位的扩展文件包含:

 

 用法:笔者是在C盘根目录下建了一个sqlite3文件夹,上述文件全放进去,接下来把这个目录放入环境变量中去

 

 

 

 运行命令cmd,输入sqlite3

 

 第一步完成!

槽点1:sqlite3.exe作为一个主程序文件,居然名为tools!那好吧,以后我跟麦当劳店员说,给我来两包番茄酱,那我的袋子里肯定能多两份薯条-----一看sqlite3开发组的语文都是计算机老师教的。

 

2.用vs安装目录下的lib.exe编译sqlites扩展文件

读到这,你可能会像毛利小五郎那样睁圆眼睛,蹦出一句“纳尼?!!”,没错,找到你的vs2019安装目录,如果你用的是C或者C++语言,并且十分听话的按默认路径安装的vs,那么很可能目录是 

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\bin\Hostx64\x64

上述目录下有个lib.exe,接下来用它编译sqlite3扩展目录下的扩展文件(当然,你需要把sqlite3.dll 和sqlite3.def放到这个文件下)(推荐:你也可以把x64文件夹单独复制出来,再放入两个扩展文件,编译)

----我是单独复制出来的,并且把编译好的sqlite3.lib放入了我的数据库安装目录下,这并无严格限定

运行-cmd

cd C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\bin\Hostx64\x64
或者cd 到你单独复制出来的x64文件夹下面
LIB /MACHINE:IX86 /DEF:sqlite3.def

这样会生成两个文件,其中sqlite3.lib是关键

 

 槽点2:编译操作复杂程度,堪比绝命毒师从康泰克里提取冰毒

第二步完成!

 

3.vs项目里引入

选中项目(不是解决方案)---属性---链接器---常规----附加库目录,选中存放sqlite3.lib的目录

 

 

接下来找到输入---附加依赖项 填写 sqlite3.lib

 

 .......总算完成了,接下来就是运行一段文章开头提到的代码

槽点3:这哪里是连接轻巧方便可爱的sqlite3数据库,这tm简直是在连接北美防空司令部的空情数据库呢,这......

先写到这,达斯维达尼亚,各位