1

このドライバを長い間インストールしましたが、失敗しました。次と同じ間違いがあります:

scons: Reading SConscript files ...
Checking for C++ library boost_thread-mt... (cached) no
Checking for C++ library boost_thread... (cached) yes
Checking for C++ library boost_filesystem-mt... (cached) no
Checking for C++ library boost_filesystem... (cached) yes
Checking for C++ library boost_system-mt... (cached) no
Checking for C++ library boost_system... (cached) yes
scons: done reading SConscript files.
scons: Building targets ...
g++ -o build/mongo/client/dbclient_rs.o -c -O3 -pthread -D_SCONS -DMONGO_EXPOSE_MACROS -Ibuild -Isrc -Ibuild/mongo -Isrc/mongo src/mongo/client/dbclient_rs.cpp
In file included from /usr/local/include/boost/filesystem/path.hpp:24,
                 from src/mongo/util/paths.h:26,
                 from src/mongo/db/client.h:38,
                 from src/mongo/db/curop.h:23,
                 from src/mongo/db/curop-inl.h:1,
                 from src/mongo/db/instance.h:23,
                 from src/mongo/db/dbmessage.h:25,
                 from src/mongo/client/dbclient_rs.cpp:27:
/usr/local/include/boost/filesystem/config.hpp:16:5: error: #error Compiling Filesystem version 3 file with BOOST_FILESYSTEM_VERSION defined != 3
scons: *** [build/mongo/client/dbclient_rs.o] Error 1
scons: building terminated because of erro`enter code here`rs.`enter code here`

インストールする前に、boost 1.5、pcre8.3をインストールしましたが、mongodbドライバー2.2をインストールしたいのですが。ありがとう!

4

2 に答える 2

3

私はあなたと同じ問題に遭遇しました。
mongodbC++ドライバーソースsrc/mongo/pch.h

#define BOOST_FILESYSTEM_VERSION 2

しかしで/usr/local/include/boost/filesystem/config.hpp

# if defined(BOOST_FILESYSTEM_VERSION) && BOOST_FILESYSTEM_VERSION != 3
#   error Compiling Filesystem version 3 file with BOOST_FILESYSTEM_VERSION defined != 3
# endif

これが問題です。
そして私はに変わりsrc/mongo/pch.hます

#define BOOST_FILESYSTEM_VERSION 3

その後、再びsconsすると、正しくコンパイルされます。

于 2013-01-05T09:31:28.313 に答える
1

インターネットからの解決策:

解決済み:1.44 ブースト ライブラリの v2 がありますが、ヘッダーに「#define BOOST_FILESYSTEM_VERSION 3」がありました (別のバージョンを使用している同僚が追加しました)。このディレクティブをコメントすると、コードは正しくコンパイルされます。ライブラリを同期する必要があるようです。

于 2012-08-24T08:03:22.383 に答える