Драйвер Mongodb c ++ - ошибка компоновки: использование устаревшего boost :: stystem :: get_generic_category () - PullRequest
1 голос
/ 10 декабря 2011

Я успешно установил и запустил mongodb на моем MacBook Pro с драйвер с ++, но когда я пытаюсь сделать то же самое на компьютере в Школа (нужно делать длительные симуляции) Я сталкиваюсь с некоторыми ошибками. сама база данных работает хорошо, но когда я пытаюсь скомпилировать свою программу, я получить много этих ошибок:

/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 драйвера с ++. я все равно получаю такую ​​же ошибку. Компьютер в школе - это RedHat Предприятие Linux Server. У него нет libboost_system в папке / usr / lib. Так как у меня нет 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 голосов
/ 14 декабря 2011

Работает с буст версией 1.42 ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...