Не могу скомпилировать драйвер mongodb 2.0 c ++ - PullRequest
0 голосов
/ 18 сентября 2011

Я пытался собрать драйвер mongodb c ++ 2.0, но получил следующее сообщение об ошибке:

security_commands.cpp :(. Text + 0x865): неопределенная ссылка на mongo::CmdAuthenticate::getUserObj(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mongo::BSONObj&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)' security_commands.cpp:(.text+0xa59): undefined reference to mongo :: CmdAuthenticate :: authenticate (std :: basic_string, std :: allocator> const &, std :: basic_string, std :: allocator> const &, bool) 'mongo / db / security_commands.os: в функции _GLOBAL__sub_I_security_commands.cpp': security_commands.cpp:(.text.startup+0x1a6): undefined reference to vtable для mongo :: CmdLogout 'mongo / db / security_common.os: в функции `mongo :: AuthenticationInfo :: _ isAuthorized (std :: basic_string, std :: allocator> const &, int) const ':

1 Ответ

1 голос
/ 23 сентября 2011

В архиве для драйвера, по-видимому, отсутствует файл mongo / db / security.cpp для создания общей библиотеки.

Но этого достаточно для создания статической библиотеки с небольшим количеством пропущенных символов.

откройте SConstruct и закомментируйте строку со словами

libs + = env.SharedLibrary ("mongoclient", allClientFiles)

и все готово.

...