设置c 代码示例,带有sqlite3不起作用
Setup C++ code example with sqlite3 not working
我尝试在基本C 应用程序中设置SQLITE3扩展。我知道此站点上仍然有线程,但是我已经尝试了所有有关此问题的建议。我不能继续前进,没有什么是正确的解决方案。我想编译类SQLConnector.cpp(请参见下面的文件夹结构(。
我无法在没有错误的情况下编译应用程序。
我已经尝试了:
我已经安装了sqlite3 at:
C:sqlite3
我已经下载了sqlite-amalgamation并创建了一个具有以下结构的文件夹:
sqlite_test
├── SQLConnector.cpp
├── shell.c
├── sqlite3.c
├── sqlite3.h
└── sqlite3ext.h
我使用此命令来编译代码,但它不起作用:
g++ SQLConnector.cpp - l sqlite3
这是基本代码段的源代码:
#include "sqlite3.h"
#include "sqlite3ext.h" // I have tried it also without this file.
#include <iostream>
int main()
{
sqlite3 *db;
char *strErrorMsg = 0;
int rc;
rc = sqlite3_open("test.db", &db);
if (rc)
{
std::cout << "Can't open database " << sqlite3_errmsg(db) <<
std::endl;
return 1;
}
std::cout << "Opened database successfully!" << std::endl;
sqlite3_close(db);
return 0;
}
这是错误,我得到了:
SQLConnector.cpp: In Funktion »int main()«:
sqlite3ext.h:426:40: Fehler: »sqlite3_api« wurde in diesem
Gültigkeitsbereich nicht definiert
#define sqlite3_open sqlite3_api->open
^
SQLConnector.cpp:20:10: Anmerkung: bei Substitution des Makros
»sqlite3_open«
rc = sqlite3_open("test.db", &db);
^~~~~~~~~~~~
sqlite3ext.h:426:40: Anmerkung: empfohlene Alternative: »sqlite3_log«
#define sqlite3_open sqlite3_api->open
^
SQLConnector.cpp:20:10: Anmerkung: bei Substitution des Makros
»sqlite3_open«
rc = sqlite3_open("test.db", &db);
我不知道我应该将哪种路径插入-L选项。如果我删除-l选项并编译SQLITE3.C,那么我会遇到300多个错误:D
我该怎么办?我不明白如何设置扩展名?有人可以帮助我并向我展示他的设置吗?
我使用VSCODE,但我在外壳上手动编译。
放置宏" sqlite_extension_init1"在#include <sqlite3ext.h>
行之后单独在线上。
<sqlite3ext.h>
也包括<sqlite3.h>
。
相关文章:
- Cpp-Tuple使用带有变量的get
- 当在带有Eigen的C++中使用GDB时,我如何才能看到更多的大矩阵
- C++中带有List类的迭代器Segfault
- 带有特殊路径部分的"std::filesystem::weakly_canonical"失败
- 在C应用程序中运行C++(带有STL)函数
- 有没有一种方法可以创建一个带有哈希表的数据库,该哈希表具有恒定时间查找功能
- C++使用数组作为多维数组,尽管将其初始化为带有指针的 1D
- C++Boost Asio Pool线程,带有lambda函数和传递引用变量
- 在while循环中输入带有std::cin的字符串后,控制台会输出大量胡言乱语
- 发送一个带有libcurl C++问题的帖子请求:s
- 当使用带有VS2019或VSCode的虚幻引擎4.24.2时,我如何修复这些错误的Intellisense错误
- 带有指定长度字符* 参数的 std::regex_search 在 VS2017 中不起作用?
- 在C++中将类(带有Vector成员)保存为二进制文件
- 如何处理linux终端中带有负号(-)的C++中的命令行参数
- 建议在运行时将带有类实例的列表从c++导入qml
- 带有 -stdlib=libc++ 的 clang++ 9.0.1 找不到<optional>
- 设置c 代码示例,带有sqlite3不起作用
- sqlite3带有参数的多个插入物;仅插入一个记录
- c++内部的sqlite3(带有TABLE及其INDEX的存储过程或复杂sql)
- 从MVS 2013编译带有OMIT选项的cl.exe时,sqlite3错误