MongoDB C ++ Driver — Неразрешенный внешний символ

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

Error   1   error LNK2019: unresolved external symbol "__declspec(dllimport)     public: __thiscall mongo::DBClientConnection::DBClientConnection(bool,class     mongo::DBClientReplicaSet *,double)" (__imp_??0DBClientConnection@mongo@@QAE@_NPAVDBClientReplicaSet@1@N@Z) referenced in function "void __cdecl run(void)" (?run@@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)" (__imp_??1DBClientConnection@mongo@@UAE@XZ) referenced in function "void __cdecl run(void)" (?run@@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 &)" (__imp_?connect@DBClientConnection@mongo@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) referenced in function "void __cdecl run(void)" (?run@@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, но не могу понять, что.

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

1

Решение

Пытаться:

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

Другие решения

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

0

По вопросам рекламы [email protected]