我已将 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)
但是没有找不到头文件或文件的错误。一切都找到了,上面只是输出错误
我找到了解决办法。我将 C 代码编译为 C++,但更改它是不够的。
我写给未来的访客:
首先,我必须更改文件的 (ONLY FILE) 属性。右键单击文件并选择属性,在 下C/C++,选择Advanced然后选择Compile As并将其设置为C(既不是默认也不是C++)。
然后,您应该确保您的 .c 文件是在没有 clr 的情况下编译的。那么,要做到这一点,在同一C/C++组菜单下,选择"Common Langugae Runtime Support"并将其设置为No Support....
| 归档时间: |
|
| 查看次数: |
1818 次 |
| 最近记录: |