2014-02-07 8 views
1

Я пытаюсь запустить пример программы для MongoDB C++ Driver, чтобы я мог запускать некоторые тесты и сталкивался с некоторыми ошибками, которые я застрял.MongoDB C++ Driver - Unresolved External Symbol

Error 1 error LNK2019: unresolved external symbol "__declspec(dllimport)  public: __thiscall mongo::DBClientConnection::DBClientConnection(bool,class  mongo::DBClientReplicaSet *,double)" ([email protected]@@[email protected][email protected]@[email protected]) referenced in function "void __cdecl run(void)" ([email protected]@YAXXZ) E:\Programming\C++\BoostTest\BoostTest\BoostTest\Testcpp.obj BoostTest 

Error 2 error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall mongo::DBClientConnection::~DBClientConnection(void)" ([email protected]@@[email protected]) referenced in function "void __cdecl run(void)" ([email protected]@YAXXZ) E:\Programming\C++\BoostTest\BoostTest\BoostTest\Testcpp.obj BoostTest 

Error 3 error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall mongo::DBClientConnection::connect(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" ([email protected]@[email protected]@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@Z) referenced in function "void __cdecl run(void)" ([email protected]@YAXXZ) E:\Programming\C++\BoostTest\BoostTest\BoostTest\Testcpp.obj BoostTest 

Вот код

#include <cstdlib> 
#include <iostream> 
#include "mongo\client\dbclient.h" 

#define BOOST_ALL_DYN_LINK 

void run() 
{ 
    mongo::DBClientConnection c; 
    c.connect("localhost"); 
} 

int main() 
{ 
    try 
    { 
     run(); 
     std::cout << "Connected" << std::endl; 
    } 
    catch(const mongo::DBException &e) 
    { 
     std::cout << "caught " << e.what() << std::endl; 
    } 
    return EXIT_SUCCESS; 
} 

Прежде чем кто спрашивает, я подпиточную библиотека и заголовки, ссылку и они, кажется, работают хорошо. Я также ссылался на монгольские библиотеки и заголовки.

Additional Include Directories: Boost and Mongo Source 

Linker Additional Library Directories: boost/stage/lib and Mongo build client 

У кого-нибудь есть ключи? Должен ли я включать файл dbclient.obj в дополнительные зависимости? Когда я делаю, я получаю 96 новых ошибок. Я думаю, что, возможно, я пропустил какой-то .dll, но не могу понять, что.

Поблагодарите за помощь, так как это лишь небольшая часть гораздо большего проекта.

ответ

0

Try:

  1. 32 против 64 бит рассогласование.
  2. У меня возникла аналогичная проблема при использовании MS VC Compiler для старых библиотек. Решение заключалось в том, чтобы получить последние библиотеки.
0

История успеха: MS Visual Studio 2015 + mongo-cxx-driver-26compat (построена как 32-разрядная DLL) + 32-разрядные библиотеки DLL из boost_1_59_0.