无法使用Visual Studio 2015编译或运行sqlite3

时间:2017-05-03 17:15:41

标签: c visual-studio visual-studio-2015 sqlite

我正在尝试编译使用Visual Studio 2015从SQLite网站下载的sqlite3.c和shell.c的源代码。我创建了DLL项目sqlite3并将sqlite3.c源代码放入其中。然后我创建了项目sqlite3shell并将shell.c源放入其中。我在其中添加了include "stdafx.h"。当我编译这两个项目时,DLL没有生成.lib文件,因此sqlite3shell的编译出现了错误LNK1104 cannot open sqlite3.lib

我使用this solution手动创建了一个.lib文件。然后sqlite3shell程序编译成功。但是当我去运行该程序时,我得到了错误The application was unable to start correctly (0xc000007b).查看此错误似乎是导致尝试从32位程序访问64位程序的一个原因。但是一切都是使用x86配置创建的。

有没有办法让DLL编译产生正确的.lib文件?或者,如果这不能解决问题,我可以做些什么来防止0xc000007b错误?

1 个答案:

答案 0 :(得分:0)

如果其他人应该有这个问题,我找到了解决方案。有2行指定了SQLITE_API的定义。我将导出添加到定义中,如下所示:# define SQLITE_API __declspec(dllexport)。显然没有导出,所以这就是从未创建.lib文件的原因。通过更改,创建了.lib和.exp文件,然后程序没有收到0c000007b错误。