小编mm_*_*857的帖子

如何在 C++ 项目中使用 sqlite3.c?

我正在尝试在 Eclipse 的 C++ 项目中使用 sqlite3,并在网上找到了大量有关使用 API 的建议,但不幸的是我遇到了较早的障碍。我想这是因为我缺乏 C/C++ 和 CDT 的经验。我只是将 sqlite3.c 和 sqlite3.h 复制到项目的源文件夹中,并有一个测试方法如下:

int main() {
    sqlite3* db;
    sqlite3** dbpointer = &db;
    const char* dbname = "test.db";
    sqlite3_open(dbname, dbpointer);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

然而,sqlite3.c 文件在 Eclipse 中显示时存在许多错误。例如,以下部分注释为“无法解析字段‘IN_DECLARE_VTAB’”。

#ifdef SQLITE_OMIT_VIRTUALTABLE
  #define IN_DECLARE_VTAB 0
#else
  #define IN_DECLARE_VTAB (pParse->declareVtab)
#endif
Run Code Online (Sandbox Code Playgroud)

当我尝试编译时,出现一系列错误,例如:

 gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/sqlite3.d" -MT"src/sqlite3.d" -o "src/sqlite3.o" "../src/sqlite3.c"
../src/sqlite3.c:30997: error: initializer element is not constant
../src/sqlite3.c:30997: error: (near initialization for `aSyscall[0].pCurrent')
../src/sqlite3.c:30997: error: initializer element …
Run Code Online (Sandbox Code Playgroud)

c c++ sqlite eclipse-cdt

5
推荐指数
1
解决办法
1419
查看次数

标签 统计

c ×1

c++ ×1

eclipse-cdt ×1

sqlite ×1