Как настроить параметры проекта Visual Studio с помощью mongo-cxx-driver?

Я успешно собрал версию 3.0.3 драйвера MongoDB для C++ в Windows 10 с

CMAKE_INSTALL_PREFIX=C:\ Монго-CXX-водитель

Но я не знаю, как настроить проект в Visual Studio 2015, который может использовать этот драйвер.
Я нашел этот пост здесь, но я не понимаю точное решение. Я пробовал следующие свойства, но не смог:

  • C / C++> Дополнительные каталоги включения: C:\mongo-c-driver\include\libbson-1.0;C:\mongo-c-driver\include\libmongoc-1.0;C:\mongo-cxx-driver\include\bsoncxx\v_noabi;C:\mongocxx-драйвер \ включает \ mongocxx \ v_noabi;% (AdditionalIncludeDirectories)
  • Linker> Дополнительные каталоги библиотек: C: \ mongo-cxx-driver \ lib;% (AdditionalLibraryDirectories)

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

РЕДАКТИРОВАТЬ: Полный список всех 401 ошибок хранится здесь.

РЕДАКТИРОВАТЬ: я начал новый проект и использовал точно такие же настройки. Теперь я просто получаю 14 ошибок. Здесь хранится список ошибок (EDIT: удаленный файл).

РЕДАКТИРОВАТЬ: я добавил следующую конфигурацию:

  • Configuration Manager> Платформа активных решений: x64
  • C / C++> Дополнительные каталоги включения: C:\Program Files\boost\boost_1_62_0;

Теперь я получаю следующие ошибки.

3 ответа

Решение

Сначала спасибо всем за помощь! Я получил рабочее решение со следующей настройкой:

  • Configuration Manager > Платформа активных решений: x64
  • C / C++> Дополнительные каталоги включения: C: \ mongo-c-driver \ include \ libbson-1.0; C: \ mongo-c-driver \ include \ libmongoc-1.0; C: \ mongo-cxx-driver \ include \ bsoncxx \ v_noabi; C: \ mongo-cxx-driver \ include \ mongocxx \ v_noabi; C: \ Program Files \ boost \ boost_1_62_0;
  • Linker> Дополнительные каталоги библиотек: C: \ mongo-cxx-driver \ lib;
  • Линкер> Вход> Дополнительные зависимости: bsoncxx.lib; mongocxx.lib;
  • События сборки> Событие после сборки: COPY "C:\mongo-cxx-driver\bin\bsoncxx.dll" "$(OutDir)";COPY "C:\mongo-cxx-driver\bin\mongocxx.dll" "$(OutDir)";COPY "C:\mongo-c-driver\bin\libmongoc-1.0.dll" "$(OutDir)";COPY "C:\mongo-c-driver\bin\libbson-1.0.dll" "$(OutDir)";

Я также пытаюсь собрать драйвер с VS2015 (Windows7). Я внес следующие изменения в проект:

# C/C++ | General | Additional Include Directories:C:\work\mongo-cxx\mongo-cxx-driver-r3.0.3\src\bsoncxx\include\libbson-1.0;C:\work\mongo-cxx\mongo-cxx-driver-r3.0.3\src\mongocxx\include\libmongoc-1.0;C:\work\mongo-cxx\mongo-cxx-driver-r3.0.3\src;C:\work\mongo-cxx\libbson-1.5.0\src\bson;C:\work\mongo-cxx\mongo-c-driver-1.5.0\src\mongoc;

# C/C++ | Preprocessor | Preprocessor Definitions:MONGOCXX_STATIC;BSONCXX_STATIC;**

# Librarian | General | Additional Dependencies:libbsoncxx.lib;mongoc-static-1.0.lib;

# Librarian | General | Additional Dependencies:C:\work\mongo-cxx\mongo-cxx-driver-r3.0.3\src\bsoncxx\$(Configuration);C:\work\mongo-cxx\mongo-c-driver-1.5.0\$(Configuration);

# Librarian | General | Link Library Dependencies: Yes

Но когда я пытался связать статический lib с тестовым примером, я получаю ошибку компоновщика, например:

неразрешенный внешний символ __imp_bson_append_array.

Кажется, что-то еще нужно изменить в настройках проекта.

Вот пример.vcxproj, предполагая, что компоненты находятся в отдельных каталогах. Вы можете сравнить это с тем, что у вас есть:

 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <LinkIncremental>true</LinkIncremental>
    <IncludePath>c:\local\boost_1_59_0\;C:\mongo-cxx-driver\include\mongocxx\v_noabi;C:\mongo-cxx-driver\include\bsoncxx\v_noabi;C:\mongo-c-driver\include\libmongoc-1.0;C:\mongo-c-driver\include\libbson-1.0;$(IncludePath)</IncludePath>
    <LibraryPath>c:\libbson\lib;c:\mongo-c-driver\lib\;c:\mongo-cxx-driver\lib\;c:\libbson\lib;$(LibraryPath)</LibraryPath>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <ClCompile>
      <PrecompiledHeader>Use</PrecompiledHeader>
      <WarningLevel>Level3</WarningLevel>
      <Optimization>Disabled</Optimization>
      <PreprocessorDefinitions>MONGOCXX_STATIC;BSONCXX_STATIC;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <SDLCheck>true</SDLCheck>
    </ClCompile>
    <Link>
      <SubSystem>Console</SubSystem>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <AdditionalDependencies>libmongocxx.lib;libbsoncxx.lib;mongoc-static-1.0.lib;bson-1.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
    </Link>
  </ItemDefinitionGroup>
Другие вопросы по тегам