2017-01-04 30 views
0

私はこの問題について以前に質問されていることは知っていますが、私の問題を明るく照らし出すものはない、私はCアプリケーションをコンパイルしようとしています。以下のテストアプリケーションごとに)コンパイルとデバッグ環境としてEclipsを使用しています。sqlite_openへの未定義の参照

.hファイルがアクセスされていることがわかりました。私はこれをC++アプリケーションとしてもコンパイルしようとしているので、コードにはiostreamと何行もコメントアウトしています。

SQL APIごとに1つずつエラーが発生します。

本当の質問は私が設定しなければならないことと、どうすればEclipseで依存関係を設定してAPIを解決できるかです。おかげ

あなたはあなたのプログラムと一緒にsqlite3のライブラリをリンクするために必要なコード

#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; 
} 
+3

[の可能性のある重複未定義の参照/未解決の外部シンボルのエラーであり、どのように私は何をすべきかにそれを修正する?](http://stackoverflow.com/questions/12573816/what-is-an-undefined-reference-unresolved-external-symbol-error-and-how-do-i-fix) –

+1

Eclipseに伝えるように指示するリンカーに適切なライブラリをリンクするように指示するコンパイラ。 – alk

+1

CDTを仮定すると、 "Project-> Properties-> C/C++ Build-> Settings-> GCC Linker-> Libraries"の下にある(幾分古い)Juno-Releaseの場合 – alk

答えて

0

gcc main.c -lsqlite3 
関連する問題