2013-11-10 3 views
1

Я пытаюсь скомпилировать Mongo DB C++ Drivers как 32-битные библиотеки. Как бы то ни было, я не знаю, какой переключатель использовать, я смотрел куда угодно. Я нахожусь в среде x64, поэтому мне нужно заставить 32-битную компиляцию.Не удается построить 32-битный драйвер Mongo DB C++

Причина, по которой мне нужны 32-битные драйверы, заключается в том, что приложение, которое я кодирую, составляет 32 бит, и поэтому мне пришлось скомпилировать Boost как 32-битный.

Если мне удастся скомпилировать драйвер в 32 бит, смогу ли я по-прежнему подключиться к 64-битной Mongo DB ???

Как скомпилировать эту вещь до 32 бит?

Вот ошибка из журнала SCON:

/usr/bin/ld: skipping incompatible /home/zinglish/Projects/CPP/Grepho/libs/boost_1_54_0/dist/lib/libboost_thread.so when searching for -lboost_thread 
/usr/bin/ld: skipping incompatible /home/zinglish/Projects/CPP/Grepho/libs/boost_1_54_0/dist/lib/libboost_thread.a when searching for -lboost_thread 

В основном это не будет компилироваться, потому что он пытается собрать в x64, но вольтодобавочные ЛИЭС являются x86 ...

+0

Какой платформы? Какая у вас проблема? Да, вы можете использовать 32-битный драйвер для подключения к 64-битовому серверу MongoDB. – WiredPrairie

+0

Я отредактировал мой вопрос :) – Zinglish

ответ

1

Хорошо я искал эту ссылку : SConstruct Documention для настройки коммутатора Linker и Compiler и придумал решение.

Я добавил их к концу Environment переменных в файле SConstruct:

CPPFLAGS=["-m32"], 
LINKFLAGS=["-m32"] 

Хотелось бы надеяться, что поможет кто-то еще в будущей

Смежные вопросы