我是Eclipse中的c / c ++新手,试图使用sqlite合并为MATLAB编写一些sqlite例程。
我遇到了这个问题,日食似乎缺少基本sqlite3
类型的东西。
我在以sqlite3*
作为输入的所有函数上得到“无效参数”错误。
E.g。在sqlite3_close
我正在
Invalid arguments
Candidates are: int sqlite3_close(*)
而适当的原型是
int sqlite3_close(sqlite3*)
所有sqlite3_stmt
类型都会出现同样的问题。
我已经包含sqlite3.h
,它位于同一目录中,最后但并非最不重要的是,代码编译并运行得很好。
我在这里缺少什么?
答案 0 :(得分:0)
从sqlite3代码,第12450行
** The "sqlite3_stmt" structure pointer that is returned by sqlite3_prepare()
** is really a pointer to an instance of this structure.
struct Vdbe {
/*struct definition*/
}
也就是说,sqlite3_stmt是forward declaration,它阻止用户创建sqlite3_stmt结构,但是使用sqlite3函数。
为了让Eclipse CDT能够识别sqlite3_stmt,如果您没有使用它来编译,可以将它作为符号添加到Eclipse项目属性中。
由于我不是,我所拥有的是将sqlite3_stmt定义为Vdbe。