2016-11-27 95 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>