加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

VS配置、编译sqlite失败的解决方法

发布时间:2020-12-12 19:32:26 所属栏目:百科 来源:网络整理
导读:在VS上有需要使用到数据库,选择的数据库是轻量级的数据库—sqlite。这个数据库的特点就是调用方便,且支持可视化工具进行数据库的编辑。但是,在VS2012上对sqlite进行配置的时候,一直无法调试成功。 一般来说,我们需要下载sqlite的源码和对应的工具包以及
在VS上有需要使用到数据库,选择的数据库是轻量级的数据库—sqlite。这个数据库的特点就是调用方便,且支持可视化工具进行数据库的编辑。但是,在VS2012上对sqlite进行配置的时候,一直无法调试成功。
一般来说,我们需要下载sqlite的源码和对应的工具包以及dll包。由于下载的dll包中没有lib库,所以在程序中如果要是用lib库的话,需要我们自己动手编译。编译的话,网上提供的方法总共有2中。一种是通过cmd命令调用vs的lib.exe进行生成,第二种方法则是通过VS引入源码进行编译生成。我们这里主要讲第一种方式。
Cmd生成lib的流程主要如下:
1. 进入D:Microsoft Visual Studio 11.0VCbin目录下,拷贝lib.exe,link.exe以及mspdb110.dll(VS对应的是mspdb140.dll)到sqlite的目录中。
2. Sqlite目录中需要有sqlite的sqlite3.h,sqlite3.def,sqlite3.dll。
3. 通过cmd命令进入sqlite目录中,通过命令LIB /MACHUNE:IX86 /DEF:sqlite3.def生成lib静态库文件。这里针对64位的pc命令会有所不同。如果是64位的系统的话,命令应该改为:LIB /MACHUNE:X64 /DEF:sqlite3.def.
值得一提的是,上述两种方法编译过程中,都需要针对你所用的pc位数进行匹配,即32位需要使用32位的库。64位则使用64位的库,这个如果弄错了,则无法生成lib库。我的pc上使用的是64位的操作系统。

当生成了lib之后,我们可以创建一个sqliteDemo的工程进行验证。如同其他动态链接库的调用方式一样,我们添加了sqlite的链接库。测试代码如下:


#include<stdio.h>
#include<iostream>
#include"sqlite3.h"
usingnamespacestd;
/*****************************************
* 用作数据库测试的demo
*****************************************/
intmain()
{
sqlite3*tempDB;
sqlite3_open("test.db",&tempDB);
return1;
}
如果直接运行的话,可能会报下面两种错误界面。

或者是
产生这种错误的原因主要是,我们vs默认生成的程序是Win32的,而这对应的lib已经是64位的,所以会有这种错误。 解决方法如下: 在VS的配置管理器中,选择x64平台,重新进行编译,就能解决该问题了。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读