如何使用 mongo-cxx-driver 设置 Visual Studio 项目设置?

How to set up Visual Studio project settings with mongo-cxx-driver?

我已经在 Windows 10 上使用

成功构建了 MongoDB C++ 驱动程序的版本 3.0.3

CMAKE_INSTALL_PREFIX=C:\mongo-cxx-driver

但是我不知道如何在Visual Studio 2015 中建立一个可以使用这个驱动程序的项目。
我在这里找到了this post,但我不明白确切的解决方案。我尝试了以下属性但失败了:

Visual Studio 没有标记任何错误,但是当我尝试编译代码时,出现 401 错误。
我希望有人能帮助我。

编辑:存储了所有 401 错误的完整列表 here

编辑:我开始了一个新项目并使用了完全相同的设置。现在我只收到 14 个错误。错误列表存储在这里(编辑:删除文件)。

编辑:我添加了以下配置:

现在我得到以下 errors

我也在尝试使用 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

但是当我尝试 link 带有测试示例的静态库时,我得到 linker 错误,例如:

unresolved external symbol __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>

首先感谢大家的帮助! 我得到了一个具有以下设置的工作解决方案:

  • 配置管理器 > 活动解决方案平台: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:\程序Files\boost\boost_1_62_0;
  • 链接器 > 附加库目录:C:\mongo-cxx-driver\lib;
  • 链接器 > 输入 > 附加依赖项:bsoncxx.lib;mongocxx.lib;
  • 构建事件 > Post-构建事件: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)";