undefined reference to sqlite_open

1.4k Views Asked by At

I know there have been questions asked before about this problem but none seem to shine a light on my problem which is, I am trying to compile a C application and want to access SQLite from within the code (as per test app below) using Eclips as a compile and debugging environment.

I know the .h files are being accessed. the code has as many lines commented out to do with iostream as I have tried to compile this as a C++ app as well.

I get errors one for each of 2 the SQL API.

The real question is do I have to set and How do I set a dependency in Eclipse to allow the api to resolve. Thanks

the code

#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

There are 1 best solutions below

0
On

You need to link the sqlite3 library along with your program:

gcc main.c -lsqlite3