Mongodb c ++驱动程序 - 链接错误:使用不推荐的boost :: stystem :: get_generic_category()

时间:2011-12-10 14:33:37

标签: c++ mongodb boost

我已经在我的macbook pro上成功安装并运行了mongodb c ++驱动程序,但当我试图在计算机上执行相同操作时 学校(需要做冗长的模拟)我遇到了一些错误。该 数据库本身很好用,但是当我尝试编译我的程序时 得到很多这些错误:

/chalmers/users/X/thesis/libs/mongo-cxx-driver-nightly// 
libmongoclient.a(spin_lock.o): In function 
`__static_initialization_and_destruction_0(int, int)': 
spin_lock.cpp:(.text+0x44): undefined reference to 
`boost::system::get_system_category()'  spin_lock.cpp:(.text+0x50):
undefined reference to  `boost::system::get_generic_category()'... 

我已经下载,构建并试用了升级版1.4.8,1.4.7和 1.44.0。据我了解get_system_category()和 get_generic_category()已弃用并替换为相同 删除了“get”的方法名称。但是,在我的macbook上我使用了boost 1.4.7它的工作原理.. 我已经尝试了每晚和最新的2.0版本的c ++驱动程序。一世 仍然得到同样的错误。学校里的电脑是RedHat Enterprice Linux服务器。它在/ usr / lib文件夹中没有libboost_system。由于我没有root访问权限 下载并构建了所需的库(boost,libcurl),我就是 指向makefile中的那些:

path = ./build/  

Ipath = -I/../mongo-cxx-driver-v2.0/mongo/ - I/.../boost_1_44_0/ 

Lpath = -L/.../mongo-cxx-driver-nightly/ -L/.../boost_1_44_0/stage/lib -L/.../curl/lib 

libs = -lboost_system -lmongoclient -lboost_thread -lboost_filesystem -lboost_program_options -lcurl  

db: sdc.o main.cpp 
        g++ main.cpp $(path)sdc.o $(Ipath) $(Lpath) $(libs) -o $  (path)db  

sdc.o: ../controller.h ../controller.cpp 
        g++ -c ../controller.cpp -o ./build/sdc.o $(Ipath)

还有其他人有这个问题吗?有谁看到我在做什么 这里错了吗?

由于

1 个答案:

答案 0 :(得分:0)

它适用于升级版1.42 ..