Visual c++ SQLite编译器错误

Visual c++ SQLite编译器错误,visual-c++,sqlite,Visual C++,Sqlite,在我的项目中包含“sqlite3.c”时,我会遇到很多编译器错误: error C2027: use of undefined type "_ht" d:\...\sqlite3.c line 19556 ... fatal error C1003: Errors in the program are too numerous to allow recovery. The compiler must terminate. 当将“sqlite3.c”引入一个空的测试项目时,我没有问题

在我的项目中包含“sqlite3.c”时,我会遇到很多编译器错误:

error C2027: use of undefined type "_ht"    d:\...\sqlite3.c    line 19556
...
fatal error C1003: Errors in the program are too numerous to allow recovery. The compiler must terminate.
当将“sqlite3.c”引入一个空的测试项目时,我没有问题。我比较了项目设置,两个项目之间没有太大的差异


如何解决此问题?是否有人有相同的问题?

看起来您没有包括所有的头文件(或者您正在尝试将C构建为C++)。不要那样做。更好的方法是,将其构建到库中(或使用其他人的构建),然后只在项目中包含构建版本。

右键单击项目中的
sqlite3.c
文件,然后选择
属性。去

C/C++ -> Advanced -> Compile As => "Compile as C Code (/TC)"
这就解决了问题。确保在您的所有配置和平台下设置该选项


我遇到了同样的问题。我正在创建一个插件,因此在sqlite中编译而不是分发一个附加的DLL是有益的,而且这比创建一个附加的项目来构建一个静态库的工作量要少。

您不使用现有库有什么原因吗?是的-我不想使用DLL。包括“SQLite .c”而不是使用它作为一个LIB是一个常见的选项,它在SQLite网站上描述并为测试项目工作。是的,我把它包含在C++项目中。我需要一个外部库,这是唯一的解决方案吗?ThanksIt建议在所有项目(c和c++)中使用合并源代码文件:“sqlite3.c”:我现在构建了一个静态库,并将该库链接到我的应用程序。现在可以了。谢谢你的提示。