2016-11-17 101 views
0

我試圖建立與Visual Studio下面的示例C++代碼:不能建項目,MSVC

#include <iostream> 

#include <bsoncxx/builder/stream/document.hpp> 
#include <bsoncxx/json.hpp> 

#include <mongocxx/client.hpp> 
#include <mongocxx/instance.hpp> 

int main(int, char**) { 
    mongocxx::instance inst{}; 
    mongocxx::client conn{mongocxx::uri{}}; 

    bsoncxx::builder::stream::document document{}; 

    auto collection = conn["testdb"]["testcollection"]; 
    document << "hello" << "world"; 

    collection.insert_one(document.view()); 
    auto cursor = collection.find({}); 

    for (auto&& doc : cursor) { 
     std::cout << bsoncxx::to_json(doc) << std::endl; 
    } 
} 

我沒有收到與代碼中的任何錯誤,但在建設根據該 enter image description here

enter image description here

我已經建立了司機:我收到以下錯誤 https://github.com/mongodb/mongo-cxx-driver/blob/master/appveyor.yml

系統信息: -Win10 - 視覺工作室2015年社區更新3 - 使用升壓1.60.0 64位 - 使用的CMake 3.7.0 - 使用Git的2.10.2

而且,我已經加入下面包括庫添加到項目: -bsoncxx -mongocxx -libmongoc -libbson 免 - 加強 而下面的鏈接庫: 免 - 加強64位LIB -mongo驅動程序庫

如果有人能告訴我我的構建有什麼問題,我們將非常感謝。

+1

你正在建造哪個版本的mongocxx? – xdg

+0

[github](https://github.com/mongodb/mongo-cxx-driver)的最新版本,我認爲它是3.0.3版本。 – Spigy

+1

看起來像一個MSVC問題。例如,請參閱[本文](http://www.danielgm.net/cc/forum/viewtopic.php?t=1835)或[此Google搜索](https://encrypted.google.com/search? HL = EN&q = MSVC%20INTMAX_MAX%20undeclared%20identifier)。一旦你得到比例和計時器正確,我懷疑mongocxx位將工作。 – xdg

回答

0

通過將「__STDC_LIMIT_MACROS」行添加到項目屬性\ C/C++ \ Preprocessor \ Preprocessor定義中,消除了計時和比率錯誤。 (感謝@xdg的幫助)

對於其他mongocxx錯誤,問題是:1。 我試圖建立使用64位Boost庫 -got通過創建一個新的固定的32位項目64位項目 2.必須在Project Properties \ Linker \ Input \ Additional Dependencies中包含bsoncxx.lib和mongocxx.lib文件

完成這些步驟後,項目構建成功,但由於bsoncxx,mongocxx,libmongoc-1.0和libbson-1.0 dll丟失,我通過將上面提到的dll複製到項目發佈文件夾中而得到了修復。