Mongo C++客户端库看不到我的提升

Mongo C++ Client Library Doesn't See My Boost

本文关键字:我的 看不到 C++ 客户端 Mongo      更新时间:2023-10-16

我已经下载了Boost 1.51版本,构建了它,并把它放在/usr/local/boost_1_51_0。我还下载了mongo-cxx-driver-v2.4。由于没有Makefile,我必须运行scons,因为这个项目使用的是新的python构建环境。当我运行scons时,它检查boost_thread-mt和boost_thread,两者都返回"no"。显然,它没有看到我在/usr/local目录中有boost。因为我是一个Make而不是一个scons的人,我如何让mongodb的构建过程看到我的boost版本?

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

我有同样的问题,我下载并提取boost在/usr/include/boost_1_57_0然后我运行

sudo apt-get install libboost-all-dev

然后在目录中我有c++驱动程序,我运行

sudo scons --extrapath=/usr/include/boost_1_57_0

我猜你没有安装库,只是运行。/b2而不是。/b2 install

你能试一下吗?

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

我解决了这个问题。

在SCons中,测试boost库的顺序是错误的。

打开SConstruct文件并更改以下行:

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

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

欢呼,