SQLite的编译器错误
问题描述:
当包括“sqlite3.c”到我的项目,我得到很多编译器错误的:SQLite的编译器错误
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
文件,然后选择Properties
。去
C/C++ -> Advanced -> Compile As => "Compile as C Code (/TC)"
这解决了这个问题。确保在所有配置和平台下进行设置。
我遇到了同样的问题。我正在创建一个插件,因此在sqlite中进行编译而不必分发额外的DLL是有益的,这比创建一个额外的项目来构建一个静态库要少。
有没有原因您不使用现有的[DLL](http://www.sqlite.org/download.html)? – 2010-05-30 15:31:48
是的 - 我不想使用该DLL。包括“sqlite.c”而不是将它用作lib是一个常用选项,它在sqlite网站上有描述并且适用于测试项目。 – mspoerr 2010-05-30 15:41:46