2016-11-27 99 views
0

我已经成功地与如何使用mongo-cxx-driver设置Visual Studio项目设置?

CMAKE_INSTALL_PREFIX建立MongoDB的驱动程序在Windows 10 C++的版本3.0.3 = C:\蒙戈-CXX驱动

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

  • C/C++>附加包含目录:C:\蒙戈-C-驱动\包括\ libbson-1.0; C:\蒙戈-C-驱动\包括\ libmongoc- 1.0; C:\ mongo-cxx-driver \ include \ bsoncxx \ v_noabi; C:\ mongo-cxx-driver \ include \ mongocxx \ v_noabi;%(AdditionalIncludeDirectories)
  • Linker> Additional Library Directories:C:\ mongo- %(附加库文件目录)

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

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

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

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

  • 配置管理器>活动解决方案平台:64
  • C/C++>附加包含目录:C:\ Program Files文件\升压\ boost_1_62_0;

现在我得到以下errors

+0

你没有提及具体的上市库链接,只设置目录。另外,请你分享你得到的确切的错误? – xdg

+0

另请参阅https://stackoverflow.com/questions/40659559/cant-build-project-using-mongodb-c-driver-with-msvc – xdg

+0

看起来你还没有设置路径Boost:'错误\t C1083 \t无法打开包含文件:“升压/实用/ string_ref.hpp”:没有这样的文件或directory' – xdg

回答

0

首先感谢大家的帮助! 我得到以下设置一个workig溶液:

  • 配置管理器>活动解决方案平台:64
  • C/C++>附加包含目录:C:\蒙戈-C-驱动\包括\ libbson- 1.0; C:\蒙戈-C-驱动\包括\ libmongoc-1.0; C:\ mongocxx驱动\包括\ bsoncxx \ v_noabi; C:\ mongocxx驱动\包括\ mongocxx \ v_noabi; C:\ Program Files \ boost \ boost_1_62_0;
  • 链接器>其他库目录:C:\ mongo-cxx-driver \ lib;
  • 链接器>输入>其他依赖项:bsoncxx.lib; mongocxx.lib;
  • 生成事件>生成后事件:COPY “C:\ mongocxx驱动器\ BIN \ bsoncxx.dll” “$(OUTDIR)” COPY“C:\ mongocxx驱动器\ BIN \ mongocxx。 DLL “ ”$(OUTDIR)“; COPY ”C:\蒙戈-C-驱动\ BIN \ libmongoc-1.0.dll“ ”$(OUTDIR)“; COPY” C:\蒙戈-C-驱动\ BIN \ libbson- 1.0.dll“”$(OutDir)“;
0

我也试图用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 

但是,当我试图静态库与试验例如链接,我得到链接错误如:

解析的外部符号__imp_bson_append_array。

似乎还有别的东西应该在项目设置中进行更改。

0

下面是一个示例.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>