C++ SQLite3对象未被理解?

C++ SQLite3对象未被理解?,c++,sqlite,C++,Sqlite,现在我得到一个错误: 1> c:\development\document\u manager\document\u manager\storage\u manager.h(7):错误C2079:“storage\u manager::db”使用未定义的结构“sqlite3” 与 老问题: 大家好。我从下载了sqlite-mergation-3_6_13.zip,但无法在我的项目中编译它。我收到许多错误,如: c:\pathtoproject\sqlite3.c(11337) : error C

现在我得到一个错误:

1> c:\development\document\u manager\document\u manager\storage\u manager.h(7):错误C2079:“storage\u manager::db”使用未定义的结构“sqlite3”

老问题: 大家好。我从下载了sqlite-mergation-3_6_13.zip,但无法在我的项目中编译它。我收到许多错误,如:

c:\pathtoproject\sqlite3.c(11337) : error C2440: '=' : cannot convert from 'void *' to 'char *'
        Conversion from 'void*' to pointer to non-'void' requires an explicit cast

c:\pathtoproject\sqlite3.c(12023) : error C2440: '=' : cannot convert from 'void *' to 'sqlite3_int64 *'
        Conversion from 'void*' to pointer to non-'void' requires an explicit cast
我需要做什么来正确编译我的项目?谢谢

编辑:
我不想把整个程序编译成C,我只想把三个文件编译成C,这可能吗


编辑:修正!我创建了一个新项目

编译器没有告诉你该怎么做吗?您需要显式强制转换:

void *pv = /* some value */;
char *pc = (char*) pv;

<>这当然不是C中的问题,但是C++的问题。

看起来你可能试图用C++编译器编译一个C程序。虽然C代码也是有效的C++,但它们是不同的语言。
编译器可能有一些开关或设置来编译C代码。检查编译器文档。

你需要编译文件作为C代码而不是C++。


右键单击项目或仅.c文件,并在属性中确保它被设置为C,而不是C++。(您可能只想为文件而不是整个项目设置此设置)

我不想通过15000多行sqlite来添加显式强制转换,因此我如何让VC++将文件解释为c代码文件?转到项目属性>c/c++>高级>编译为>编译为c代码。我不想将整个程序编译为c代码,我只想把三个文件编译成c,这可能吗?是的,检查我的答案。您可以指定要编译为C的单个文件,它不必是项目范围的。sqlite3.C文件已经设置为编译为C。我该怎么办?我有点期待(对于.C文件,默认情况下应该设置为C),但这很奇怪。我的VC2k8编译得很好。你没有直接包括.c文件,是吗?
void *pv = /* some value */;
char *pc = (char*) pv;