我已经在我的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)
还有其他人有这个问题吗?有谁看到我在做什么 这里错了吗?
由于
答案 0 :(得分:0)
它适用于升级版1.42 ..