C++ sqlite3 api is not defined (Visual Studio 2015)
C++ sqlite3 api is not defined (Visual Studio 2015)
所以我想乱搞一下,只是为了学习和东西,但现在我得到一个错误,"sqlite3_api"没有定义。
#include "stdafx.h"
#include "sqlite3.h"
#include "sqlite3ext.h"
using namespace std;
#define DB "dumpshit.s3db"
bool isOpenDB = false;
sqlite3 *db;
bool ConnectDB();
bool ConnectDB()
{
if (sqlite3_open(DB, &db) == SQLITE_OK)
{
isOpenDB = true;
return true;
}
return false;
}
这实际上是现在该测试文件中的所有内容。我还将 sqlite3.c 添加到我的源文件中,将 sqlite3.h + sqlite3ext.h 添加到我的头文件中。
为什么我会收到该错误消息?
没有必要包含sqlite3ext.h
文件。只需包含sqlite3.h
文件并将sqlite3.c
文件添加到源文件文件夹中并编译程序,程序将执行而不会出现任何错误。
这是我编写的示例代码,它正在工作:
#include <sqlite3.h>
#include <stdio.h>
int main(void)
{
sqlite3 *db;
sqlite3_stmt *res;
int rec;
/* Opening Database. */
int rec = sqlite3_open("test.db", &db);
/* Preparing the query */
sqlite3_prepare_v2(db, "create table tb1 (col1 text, col2 text, col3 int)", -1, &res, 0);
/* Evaluating the statement. */
sqlite3_step(res);
/* Closing Database. */
sqlite3_close(db);
return 0;
}
希望它有帮助..!!
我在开发扩展时遇到了这个问题,所以简单地删除#include "sqlite3ext.h"
对我来说不是一个可行的解决方案。
起作用的是以下内容,来自"4.编程可加载扩展",sqlite的运行时可加载扩展文档。
- 将宏"SQLITE_EXTENSION_INIT1"单独放在"#include
"行之后的一行上。
所以:
#include "sqlite3ext.h"
SQLITE_EXTENSION_INIT1
努力修复错误。
相关文章:
- Visual Studio 2015:Extern "C" 和 "export" 关键字
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 试图在visual studio上用C++创建一个桌面应用程序
- 如何在MS Visual Studio 2019中运行QT UI
- 如何使用Visual Studio 2017在C++中为参数化对象数组使用唯一指针
- Visual Studio Code - C++ Debugger 無法啟動
- Visual Studio 2019:插入多个C++风格的单行注释
- Visual Studio Code "undefined reference to `WinMain@16'"
- Visual studio代码重构似乎不起作用(例如,重命名符号-f2)
- Visual Studio中的函数声明和函数定义问题
- 如何指定我希望我的LIB链接到的DLL文件?-Visual Studio 2019
- Visual Studio mkl_link_tool.exe链接错误
- Visual Studio(或任何其他工具)能否将地址解释为调用堆栈(boost上下文)的开头
- 不同的Visual Studio版本中缺少.dll
- 用Visual Studio在C++中嵌入Julia
- Visual Studio 2017循环自动向量化问题
- 有没有办法在远程设备上打开和编辑visual Studio 2017解决方案
- 尝试使用继承和模板实现CRTP.Visual Studio正在生成编译器错误
- Visual Studio在尝试读取resource.txt文件时崩溃
- Visual Studio 2017 不允许我创建 C++ 专用模板