私はこれを理解しようと一日を費やしました。私は助けが必要です!だから、私はCプログラムを書くことができるようにEclipseとMinGWをインストールしました。私はこのすべてに新しいです。私はsqliteデータベースにアクセスできる必要があります。だから私はsqliteの合併をダウンロードし、それをC:/ sqlite3に解凍し、2つの.cファイルと2つの.hファイルを含んでいます。例では、私は次のように、彼らはsqlite.hヘッダファイルをインクルードオンライン見てきました:CプログラムのためにEclipse MinGWとSqliteを一緒に使用することはできません
#include <sqlite.h>
だから私は、私は私のsqliteの情報を保持しているフォルダが含まれて追加する必要があると思います。そこで、私のプロジェクトをクリックし、Properties> C/C++ General> Paths and Symbolsを選択します。 "Includes"タブが選択され、言語GNU Cが強調表示された状態で、IncludeディレクトリC:\ sqlite3を追加します。これまでのところ問題はなく、私はコンソールに自分の名前を表示するプロジェクトを構築することができます。
今私はチュートリアルのサイトからいくつかのサンプルコードを追加します。
#include <stdio.h>
#include <sqlite3.h>
int main(int argc, char* argv[])
{
sqlite3 *db;
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);
}
私はsqlite3の機能への未定義の参照を主張する3つのエラーが発生します。だから私は、コンパイラでsqlite3へのリンクを追加する必要があると思う。これで、Properties> C/C++ Build/Settingsに行き、-lsqlite3をMinGW C Linkerコマンドラインに追加しました。今、私はプロジェクトをビルドするとき、私のエラーは消えるが、私はこれを言うコンパイルエラーを取得:
c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lsqlite3
それはMinGWのディレクトリでsqlite3のファイルを探しているように見えます。ハマった。私はMinGWディレクトリにファイルを貼り付けてみましたが、それでもうまくいきません。私は世界に明白な何かを見逃していることを知っていますが、私は頭の上に残っている髪の毛が約5個しかなく、実際にはある程度の洞察力を使うことができます。 MinGWを使ってEclipseをセットアップし、Sqliteにアクセスするのを手伝ってください。ありがとう!
'-lsqlite3'は、あなたがコンパイラを呼び出すことによってリンクした場合(つまり:gcc、clang、etc ...)、' ld'とリンクしているときに '-l sqlite3 -L ' –
dvhh