使用 Visual Studio C++ 2013 编译 SQLite 引发 .c 文件错误

Mos*_*ebi 1 c c++ sqlite

我已将 sqlite3.c 文件添加到我的项目中。和#include。这是代码:

#include <sqlite3.h>
using namespace std;

int main()
{

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我编译程序并抛出以下错误:

1>..\..\..\..\..\..\..\libraries\sqlite-amalgamation-3080702\sqlite3.c(15705): error C2440: '=' : cannot convert from 'void *' to 'char *'
1>          Conversion from 'void*' to pointer to non-'void' requires an explicit cast
1>..\..\..\..\..\..\..\libraries\sqlite-amalgamation-3080702\sqlite3.c(19741): error C2440: '=' : cannot convert from 'void *' to 'sqlite3_mutex *'
1>          Conversion from 'void*' to pointer to non-'void' requires an explicit cast
1>..\..\..\..\..\..\..\libraries\sqlite-amalgamation-3080702\sqlite3.c(20665): error C2440: '=' : cannot convert from 'void *' to 'char *'
1>          Conversion from 'void*' to pointer to non-'void' requires an explicit cast
1>..\..\..\..\..\..\..\libraries\sqlite-amalgamation-3080702\sqlite3.c(20677): error C2440: '=' : cannot convert from 'void *' to 'char *'
1>          Conversion from 'void*' to pointer to non-'void' requires an explicit cast
1>..\..\..\..\..\..\..\libraries\sqlite-amalgamation-3080702\sqlite3.c(21142): error C2440: '=' : cannot convert from 'void *' to 'char *'
1>          Conversion from 'void*' to pointer to non-'void' requires an explicit cast
1>..\..\..\..\..\..\..\libraries\sqlite-amalgamation-3080702\sqlite3.c(21256): error C2440: '=' : cannot convert from 'void *' to 'char *'
1>          Conversion from 'void*' to pointer to non-'void' requires an explicit cast
1>..\..\..\..\..\..\..\libraries\sqlite-amalgamation-3080702\sqlite3.c(21411): error C2440: '=' : cannot convert from 'void *' to 'char *'
Run Code Online (Sandbox Code Playgroud)

但是没有找不到头文件或文件的错误。一切都找到了,上面只是输出错误

Mos*_*ebi 6

我找到了解决办法。我将 C 代码编译为 C++,但更改它是不够的。

我写给未来的访客:

首先,我必须更改文件的 (ONLY FILE) 属性。右键单击文件并选择属性,在 下C/C++,选择Advanced然后选择Compile As并将其设置为C(既不是默认也不是C++)。

然后,您应该确保您的 .c 文件是在没有 clr 的情况下编译的。那么,要做到这一点,在同一C/C++组菜单下,选择"Common Langugae Runtime Support"并将其设置为No Support....