我试图在Windows上使用带有c ++的SQLite。我的代码看起来像这样
#include <stdio.h>
#include <sqlite3.h>
int main(int argc, char* argv[])
{
sqlite3 *db;
char *zErrMsg = 0;
int rc;
rc = sqlite3_open("test.db", &db);
if( rc ){
fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
return(0);
}else{
fprintf(stderr, "Opened database successfully\n");
}
sqlite3_close(db);
}
返回错误消息
C:\sqlite: No such file or directory
compilation terminated.
还有其他几个stackoverflow问题,但它们都是通过将#include <sqlite3.h>
更改为#include "sqlite3.h"
或#include <full_path_to_sqlite3>
来解决的,但都没有工作
编译时包含-lsqlite3
也解决了一个问题,但这会返回
c:/mingw/bin/../lib/gcc/mingw32/5.3.0/../../../../mingw32/bin/ld.exe: cannot find -lsqlite3
collect2.exe: error: ld returned 1 exit status
这对我来说很奇怪,因为sqlite3
通常在cmd
我该如何解决这个问题?
答案 0 :(得分:1)
这基本上是一个链接问题。
示例解决方案:
确保编译器实际看到sqlite includes
如果您还没有,请将库标题文件夹添加到附加 包含目录
等
一步一步地确保一切都到位。