【问题标题】:C++ cannot find SQLite3C++ 找不到 SQLite3
【发布时间】:2017-04-14 01:16:39
【问题描述】:

我正在尝试在 Windows 上将 SQLite 与 c++ 一起使用。我的代码是这样的

#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 &lt;sqlite3.h&gt; 更改为 #include "sqlite3.h"#include &lt;full_path_to_sqlite3&gt; 来解决,但都不起作用

编译时包含-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 中对我来说工作得很好

我该如何解决这个问题?

【问题讨论】:

    标签: c++ sqlite


    【解决方案1】:

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

    示例解决方案:

    • 确保编译器确实看到了 sqlite 包含

    • 如果还没有,请将库头文件夹添加到 Additional 包含目录

    一步一步来,确保一切就绪。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-17
    • 2016-04-27
    • 2014-03-21
    • 2012-11-05
    • 1970-01-01
    • 2011-12-14
    • 2017-07-09
    • 2012-11-15
    相关资源
    最近更新 更多