6

Boost バージョン 1.51 をダウンロードしてビルドし、/usr/local/boost_1_51_0 に配置しました。mongo-cxx-driver-v2.4 もダウンロードしました。このプロジェクトは新しい python ビルド環境を使用しているため、Makefile がないため、scons を実行する必要があります。scons を実行すると、boost_thread-mt と boost_thread がチェックされ、どちらも「いいえ」を返します。明らかに、/usr/local ディレクトリにブーストがあることはわかりません。私は Make であり、scons の人ではないので、mongodb 構築プロセスで自分のバージョンのブーストを確認するにはどうすればよいですか?

routerwc:~/mongo_proj/mongo-cxx-driver-nightly # scons --cpppath=/usr/local/boost_1_51_0/ --libpath=/usr/local/boost_1_51_0/stage/lib/
scons: Reading SConscript files ...
Checking for C++ library boost_thread-mt... no
Checking for C++ library boost_thread... no
routerwc:~/mongo_proj/mongo-cxx-driver-nightly # cat config.log 
file /root/mongo_proj/mongo-cxx-driver-nightly/SConstruct,line 70:
Configure(confdir = .sconf_temp)
scons: Configure: Checking for C++ library boost_thread-mt....sconf_temp/conftest_0.cpp <-
|
|
|
|int
|main() {
|  
|return 0;
|}
|
g++ -o .sconf_temp/conftest_0.o -c -O3 -pthread -D_SCONS -DMONGO_EXPOSE_MACROS -Ibuild -Ibuild/mongo .sconf_temp/conftest_0.cpp
g++ -o .sconf_temp/conftest_0 -Wl,--as-needed -Wl,-zdefs -pthread .sconf_temp/conftest_0.o -lboost_thread-mt
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../x86_64-suse-linux/bin/ld: cannot find -lboost_thread-mt
collect2: ld returned 1 exit status
scons: Configure: no

scons: Configure: Checking for C++ library boost_thread....sconf_temp/conftest_1.cpp <-
|
|
|
|int
|main() {
|  
|return 0;
|}
|
g++ -o .sconf_temp/conftest_1.o -c -O3 -pthread -D_SCONS -DMONGO_EXPOSE_MACROS -Ibuild -Ibuild/mongo .sconf_temp/conftest_1.cpp
g++ -o .sconf_temp/conftest_1 -Wl,--as-needed -Wl,-zdefs -pthread .sconf_temp/conftest_1.o -lboost_thread
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../x86_64-suse-linux/bin/ld: cannot find -lboost_thread
collect2: ld returned 1 exit status
scons: Configure: no
4

3 に答える 3

1

私は同じ問題を抱えていました。 /usr/include/boost_1_57_0 でブーストをダウンロードして抽出し、実行します

sudo apt-get install libboost-all-dev

次に、ディレクトリに、実行するC++ドライバーがあります

sudo scons --extrapath=/usr/include/boost_1_57_0
于 2015-02-13T02:34:57.210 に答える
0

ライブラリをインストールしなかったと思います./b2 installではなく./b2を実行しただけです

以下をお試しいただけますか?

scons --extrapath="/usr/local/boost_1_51_0/,/usr/local/boost_1_51_0/stage"

于 2013-05-29T05:47:10.913 に答える
0

この問題を解決します。

SCons では、boost ライブラリをテストする順序が間違っています。

SConstruct ファイルを開き、次の行を変更します。

boostLibs = [ "regex", "thread", "system" ]

boostLibs = [ "system", "regex", "thread" ]

乾杯、

于 2015-07-17T19:35:56.350 に答える