我使用 C ++ 和 SQLite3 。我一直在我的代码中收到错误:
'int sqlite3_open' redeclared as different kind of symbol
我的代码是:
#include <cstdio>
#include <sqlite3.h>
#include <windows.h>
#include <string>
#include <iostream>
sqlite3 *db;
int sqlite3_open("lg.sqlite", &db);
int main() {
return 0;
}
感谢任何帮助,谢谢。
答案 0 :(得分:0)
所以简而言之,我的C ++生锈了,因为你做了#34; include&#34; sqlite3.h这已经有了sqlite3_open()的定义。因此,编译器会看到您的附加function
并抛出错误。
所以,如果你实际上看到sqlite3 *db;
基本上是全局的(这可能会产生无法预料的后果),那么你就会掉线
int sqlite3_open("lg.sqlite", &db);
它应该是什么样的...... 直接来自文档中的示例
int main(){
sqlite3 *db;
sqlite3_open("lg.sqlite", &db);
return 0;
}
这会打开db准备好下一个命令。