を取り出して./src/*.c
、gcc に /src ディレクトリ内のすべての c プログラムをコンパイルするように指示します。このディレクトリには、いくつかの Windows のみのプログラムが含まれています。
私にとってうまくいったlibmongoc.so
のは、ドライバーがビルドされたときにビルドされたものを含めるようにgccに指示することでした。
次のコマンドは私にとってはうまくいきました。私のドライバーはディレクトリ「mongo-c-driver」にあります。
gcc --std=c99 -I mongo-c-driver/src -o tutorial tutorial.c mongo-c-driver/libmongoc.so
私の意見では、mongodb C API ドキュメントは、この分野で少しバグがあります。また、最新のヘッダー ファイルは、チュートリアルに示されているソース コードと一致しません。たとえばmongo-insert
、v0.6 ヘッダーには 4 つのパラメーターが必要ですが、チュートリアルでは 2 つのパラメーターのみが示されています。
この問題を調査し、自分で mongoDB と C ドライバーをインストールして再現しようとしているときに、ドライバーの v0.6 が、関数write_concern
に 4 番目のパラメーターを追加するサポートを追加することで、以前のバージョンの API との互換性を壊していることを発見しました (これにより、mongo_insert
に設定してnull
ください)。ディレクトリで提供されるexample.c
プログラムはdocs/examples
、v0.6 ではコンパイルされません。このバグは、 c-driverの github のパッチCDRIVER-157に記載されています。