如何使用Mongo-CXX-Driver设置Visual Studio项目设置

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

本文关键字:设置 Studio 项目 Visual Mongo-CXX-Driver 何使用      更新时间:2023-10-16

我已经成功地构建了Windows 10上的C 的MongoDB驱动程序版本3.0.3,

cmake_install_prefix = c: mongo-cxx-driver

,但我不知道如何在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 c: mongo-cxx-driver 包括 bsoncxx v_noabi; c: mongo-cxx-driver inclage mongocxx v_noabi;%(额外includeDeDirectories)
  • 链接器>附加库目录:c: mongo-cxx-driver lib;%(AddageAllibraryDirectories)

Visual Studio不会标记任何错误,但是当我尝试编译代码时,我会收到401个错误。
我希望有人可以帮助我。

编辑:所有401个错误的完整列表都存储在此处。

编辑:我启动了一个新项目,并使用了完全相同的设置。现在我只有14个错误。错误列表在此处存储(编辑:已删除的文件)。

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

  • 配置管理器>活动解决方案平台:x64
  • c/c >附加目录:c: program文件 boost boost_1_62_0;

现在我得到以下错误。

我也尝试使用VS2015(Windows7)构建驱动程序。我对项目进行了以下更改:

# C/C++ | General | Additional Include Directories:C:workmongo-cxxmongo-cxx-driver-r3.0.3srcbsoncxxincludelibbson-1.0;C:workmongo-cxxmongo-cxx-driver-r3.0.3srcmongocxxincludelibmongoc-1.0;C:workmongo-cxxmongo-cxx-driver-r3.0.3src;C:workmongo-cxxlibbson-1.5.0srcbson;C:workmongo-cxxmongo-c-driver-1.5.0srcmongoc;
# 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:workmongo-cxxmongo-cxx-driver-r3.0.3srcbsoncxx$(Configuration);C:workmongo-cxxmongo-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:localboost_1_59_0;C:mongo-cxx-driverincludemongocxxv_noabi;C:mongo-cxx-driverincludebsoncxxv_noabi;C:mongo-c-driverincludelibmongoc-1.0;C:mongo-c-driverincludelibbson-1.0;$(IncludePath)</IncludePath>
    <LibraryPath>c:libbsonlib;c:mongo-c-driverlib;c:mongo-cxx-driverlib;c:libbsonlib;$(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 c: mongo-cxx-driver 包括 bsoncxx v_noabi; c: mongo-cxx-driver include mongocxx v_noabi; c: program files boost boost boost_1_62_0;
  • 链接器>其他库目录:c: mongo-cxx-driver lib;
  • 链接>输入>其他依赖项:bsoncxx.lib; mongocxx.lib;
  • 构建事件>构建事件:复制" c: mongo-cxx-driver bin bin bsoncxx.dll" $(oftdir)"; coppy" c: mongo-cxx-driver bin bin mongocxx。dll" $(OUTDIR)"; copy" c: mongo-c-driver bin libmongoc-1.0.dll" $(oftdir)"; copy" c: mongo-c-driver bin bin libbson-1.0.dll" $(OUTDIR);