C ++找不到SQLite3

时间:2017-04-14 01:16:39

标签: c++ sqlite

我试图在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

中对我很好

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

这基本上是一个链接问题。

示例解决方案:

  • 确保编译器实际看到sqlite includes

  • 如果您还没有,请将库标题文件夹添加到附加 包含目录

一步一步地确保一切都到位。