c++;和mongodb-can';t compile-boost::system::generic_category()的未定义引用 我尝试在C++中首次使用MangGDB。我刚刚安装了最新版本的Ubuntu,还安装了最新的V2.0 C++驱动程序代码。它使用scon编译得很好。在C++文件中,下面是我的包含。 #include <client/dbclient.h>

c++;和mongodb-can';t compile-boost::system::generic_category()的未定义引用 我尝试在C++中首次使用MangGDB。我刚刚安装了最新版本的Ubuntu,还安装了最新的V2.0 C++驱动程序代码。它使用scon编译得很好。在C++文件中,下面是我的包含。 #include <client/dbclient.h>,c++,mongodb,boost,C++,Mongodb,Boost,将-lboost_系统添加到链接行。g++-L/usr/local/include/-L/home/boost-L/home/cpp/mongo-cxx-driver-v2.0/mongo-lfcgi++-lboost_系统-o“rtb”/src/rtb.o我仍然会遇到同样的错误,这对我来说没有太多意义……也许可以试着对libboost_系统的副本运行objdump-x,看看你丢失的符号是否真的在那里。接下来,尝试在makelink步骤上运行strace,查看它是否确实打开了您要打开的同一个文件

-lboost_系统
添加到链接行。

g++-L/usr/local/include/-L/home/boost-L/home/cpp/mongo-cxx-driver-v2.0/mongo-lfcgi++-lboost_系统-o“rtb”/src/rtb.o我仍然会遇到同样的错误,这对我来说没有太多意义……也许可以试着对libboost_系统的副本运行
objdump-x
,看看你丢失的符号是否真的在那里。接下来,尝试在
make
link步骤上运行
strace
,查看它是否确实打开了您要打开的同一个文件。尝试将./src/rtb.o放在-lboost\u系统之前。可能重复:
make all 
Building target: rtb
Invoking: GCC C++ Linker
g++ -L/usr/local/include/ -L/home/boost -L/home/cpp/mongo-cxx-driver-v2.0/mongo -lfcgi++ -o"rtb"  ./src/rtb.o   
./src/rtb.o: In function `__static_initialization_and_destruction_0':
/home/boost/boost/system/error_code.hpp:214: undefined reference to `boost::system::generic_category()'
/home/boost/boost/system/error_code.hpp:215: undefined reference to `boost::system::generic_category()'
/home/boost/boost/system/error_code.hpp:216: undefined reference to `boost::system::system_category()'
collect2: ld returned 1 exit status
make: *** [rtb] Error 1