2

このガイドに従おうとしていますが、現在ステップ 3 にいます。

なので、走った後は

curl -OL https://github.com/mongodb/mongo-cxx-driver/archive/r3.0.1.tar.gz
tar -xzf r3.0.1.tar.gz
cd mongo-cxx-driver-r3.0.1/

Mongocの Windows ガイドと同様のコマンドを実行しようとしています。

私がちょうどするなら

cmake -G "Visual Studio 14 2015 Win64" "-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_INSTALL_PREFIX=C:/mongo-cxx-driver"

エラーが発生する

CMake Error at cmake/FindLibBSON.cmake:37 (message):
  Don't know how to find libbson; please set LIBBSON_DIR to the prefix
  directory with which libbson was configured.
Call Stack (most recent call first):
  src/bsoncxx/CMakeLists.txt:67 (find_package)

そこで、libsson ディレクトリにパスを追加するなど、さまざまなことを試しました。

cmake -G "Visual Studio 14 2015 Win64" "-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_INSTALL_PREFIX=C:/mongo-cxx-driver" "-DLIBBSON_DIR=C:/mongo-c-driver/lib/pkgconfig/" "-DLIBMONGOC_DIR=C:/mongo-c-driver/lib/pkgconfig/" "-DBOOST_ROOT=C:/local/boost_1_62_0/"

これは実際には機能しますが、ビルドしようとすると

msbuild.exe ALL_BUILD.vcxproj

エラーが発生します:

C:\Users\Erik\Documents\mongo-cxx-driver-r3.0.1\src\bsoncxx\array\view.cpp(21): fatal error C1083: Cannot open include
 file: 'bson.h': No such file or directory [C:\Users\Erik\Documents\mongocxx-driver-r3.0.1\src\bsoncxx\bsoncxx_static.v
cxproj]

このファイル「bson.h」はディレクトリにあるようです

C:\mongo-c-driver\include\libbson-1.0

しかし、なぜファイルが見つからないのか、どうすれば見つけられるのかわかりません。

これに関するご意見をお待ちしております。

4

2 に答える 2

0

2016 年 10 月 18 日

この問題は Mac OS X でも発生し、他の Un*x でも発生する可能性があります。

  1. バージョン 3.0.2 (少なくとも) を使用してください。(公式ガイドでは 3.0.1 と記載されていますが、3.0.2でバグが修正されています)。
カール -OL https://github.com/mongodb/mongo-cxx-driver/archive/r3.0.2.tar.gz
  1. buildディレクトリには変更しませんでしたが、ルートに変更しました。
CD mongo-cxx-driver-r3.0.2 
  1. C mongo ドライバー (および libbson) が既定のディレクトリにない場合は、cmake コマンドにそれを伝え、最新の C++ (11、14、...) をフィーチャーしていると伝えます。私の場合: C mongo ドライバーは /opt/mongodbDriverCpp (C++ mongo ドライバーを置くのと同じ場所) にあります。
cmake -DCMAKE_BUILD_TYPE=リリース
-DCMAKE_INSTALL_PREFIX=/opt/mongodbDriverCpp
-DLIBBSON_DIR=/opt/mongodbDriverCpp  
-DLIBMONGOC_DIR=/opt/mongodbDriverCpp
-DCMAKE_CXX_STANDARD=14
  1. 作成してインストールする
作る

インストールする
  1. 公式ガイドからテストをコンパイルするコマンド (/opt/mongodbDriverCpp適切なディレクトリに変更):
c++ --std=c++11 test.cpp -o run.test
-I/opt/mongodbDriverCpp/include/bsoncxx/v_noabi
-I /opt/mongodbDriverCpp/include/mongoccxx/v_noabi/
-L /opt/mongodbDriverCpp/lib
-l モンゴック
-l bsoncxx
  1. 実行 (最初に mongodb サーバーを起動します)
LD_LIBRARY_PATH=/opt/mongodbDriverCpp/lib をエクスポートします。

./run.test
于 2016-10-18T08:59:32.360 に答える