2017-06-30 56 views
2

私はmongocについては緑色の手です。私のmongo-c-driverは1.6.3です。mongodbデータベースに対して、作成、更新、挿入、削除などの操作をしたいのです。しかし、以下のような問題があります。私の日食CDTは、ヘッダファイル(パス:/は/ usr/localには、)が含まれていますが、IDEはまだそれらを見つけることができません。未解決のインクルードを解決するにはどうすればいいですか:<mongoc.h>?

unresolved inclusion:<mongoc.h> 

は、誰かが私にいくつかのアドバイスを与えることはできますか?

パッケージマネージャを使用せずに手動でmongo-c-driverをインストールしました。

enter image description here

+1

mongoc.hファイルのフルパスとは何ですか? –

+0

/usr/local/include/libmongoc-1.0/mongoc.h。 @ Chris – Sucy

+0

あなたのOSは何ですか? GNU/Linux OSはヘッダーを正しくインクルードするための方法を提供します。 – Boiethios

答えて

-1

ありがとうございました!私はそれを解決しました。/usr、/ usr/local、/ usr/local/xxx(任意の名前)のようなmongo-cドライバをどこで設定しても、mongoc.hや他のヘッダファイルはすべてlibmongoc- 1.0フォルダの場合は、すべてのヘッダファイル(xxxx.h)をlibmongoc-1.0フォルダからincludeフォルダの下にコピーしてください。これは問題ありません。私と同じ問題に遭遇するすべての人に幸運。

1

インクルードファイルを含める "/usr/local/include/libmongoc-1.0/" であるが、あなたはとても自然に、それは勝った、 "は/ usr/localには/含める/" に見えるようにEclipseを指示しましたそれを見つけません。

"/usr/local/include/libmongoc-1.0/"をインクルードパスとして追加するか、インクルードするファイルを<libmongoc-1.0/mongoc.h>に変更することができます。前者はおそらくより合理的なオプションです。これは、インクルードを行う場所より将来のインクルードパスを変更する方が簡単なためです。

+0

'libmongoc-1.0/mongoc.h'は正しいことではありません。 – Boiethios

2

コマンドpkg-configは(あなたが提供しなければならないライブラリ名がわからない:あなたのパッケージマネージャで確認してください):ヘッダがあるパスで検索するようにフラグを出力

$ pkg-config --cflags libmongoc 
-I/usr/local/include/libmongoc-1.0/ 

gccを使用している場合は、あなたのコンパイル行は次のようにする必要があります。

gcc `pkg-config --cflags libmongoc` file.c 

IDEを使用している場合は、コンパイルにこの方法を指定してください。これは、ライブラリを更新した場合や、ヘッダーの配置が異なる人物にプロジェクトを与える場合、プロジェクトが正しくコンパイルされ続けるため、これを実行する最善の方法です。あなたは、ライブラリを手動でインストールするので

、あなたは

  • どちらかが正しい場所(詳細についてはman pkg-config)にlibmongoc.pcファイルをインストールする必要があります。
  • フラグを手動で設定するか、gcc -I/usr/local/include/libmongoc-1.0 file.cを入力します。コンパイラに与えられる構文-I/some/pathは、この場所のヘッダファイルを検索することを意味します。それに応じてIDEのプロジェクト構成を変更します。
+0

はい、あなたは正しいです。このヘッダファイルをIDEに追加する方法を試しましたが、うまくいきません。私はそれを研究し続けます。 – Sucy

+0

@Sucy 'pkg-config --cflags libmongoc'は出力を出しますか? – Boiethios

+0

パッケージ "libmongoc"が見つかりません – Sucy

関連する問題