对sqlite_open

时间:2017-01-04 10:25:19

标签: c linker-errors undefined-reference

我知道之前有关于此问题的问题,但似乎没有一个问题可以解释我的问题,即我正在尝试编译C应用程序并希望从代码中访问SQLite(根据下面的测试应用程序) )使用Eclips作为编译和调试环境。

我知道正在访问.h文件。代码有很多行注释与iostream有关,因为我试图将其编译为C ++应用程序。

我为SQL API中的每一个都收到一个错误。

真正的问题是我必须设置吗?如何在Eclipse中设置依赖关系以允许api解析。感谢

代码

#include <sqlite3.h>

int main()
{
    int RetVal;
    RetVal = OpenDB();
    return RetVal;
}

int OpenDB()
{
    sqlite3 *db;         // database connection
    int rc;              // return code
    char *errmsg;        // pointer to an error string

     /*
      * open SQLite database file test.db
      * use ":memory:" to use an in-memory database
      */
     rc = sqlite3_open(":memory:", &db);  //fails on this line
     if (rc != SQLITE_OK)
        {
        goto out;
        }


/* use the database... */

out:
/*
 * close SQLite database
 */
sqlite3_close(db); //fails on this line
return 0;
}

1 个答案:

答案 0 :(得分:0)

您需要将sqlite3库与您的程序链接起来:

gcc main.c -lsqlite3