2017-10-15 77 views
0

我想在我的C++示例代码中用mongocxx驱动程序连接mongdb。我添加了附加包含,库和依赖项。当我建立它时,它显示以下错误。用示例代码测试mongocxx C++驱动程序

这是全码

#include "stdafx.h" 
#include <cstdint> 
#include <iostream> 
#include <vector> 
#include <bsoncxx/json.hpp> 
#include <mongocxx/client.hpp> 
#include <mongocxx/instance.hpp> 
#include <mongocxx/uri.hpp> 
#include <mongocxx/stdx.hpp> 

using bsoncxx::builder::stream::close_array; 
using bsoncxx::builder::stream::close_document; 
using bsoncxx::builder::stream::document; 
using bsoncxx::builder::stream::finalize; 
using bsoncxx::builder::stream::open_array; 
using bsoncxx::builder::stream::open_document; 

int main() { 
    std::cout << "Hello, World!" << std::endl; 

    mongocxx::instance instance{}; // This should be done only once. 
    mongocxx::uri uri("mongodb://localhost:27017"); 
    mongocxx::client client(uri); 

    return 0; 
} 
thi 

s是错误输出。

Severity Code Description Project File Line Suppression State 
Error LNK1120 10 unresolved externals MongoCTest1 C:\Users\Nuwanst\source\repos\MongoCTest1\x64\Release\MongoCTest1.exe 1 
Error (active) E0145 member "bsoncxx::v_noabi::types::b_array::type_id" may not be initialized MongoCTest1 c:\mongo-cxx-driver\include\bsoncxx\v_noabi\bsoncxx\types.hpp 181 
Error (active) E0145 member "bsoncxx::v_noabi::types::b_binary::type_id" may not be initialized MongoCTest1 c:\mongo-cxx-driver\include\bsoncxx\v_noabi\bsoncxx\types.hpp 206 
Error (active) E0145 member "bsoncxx::v_noabi::types::b_bool::type_id" may not be initialized MongoCTest1 c:\mongo-cxx-driver\include\bsoncxx\v_noabi\bsoncxx\types.hpp 264 
Error (active) E0145 member "bsoncxx::v_noabi::types::b_code::type_id" may not be initialized MongoCTest1 c:\mongo-cxx-driver\include\bsoncxx\v_noabi\bsoncxx\types.hpp 421 
Error (active) E0145 member C:\Users\Nuwanst\source\repos\MongoCTest1\MongoCTest1\MongoCTest1.obj 1 
Error LNK2001 unresolved external symbol "__declspec(dllimport) public: __cdecl mongocxx::v_noabi::instance::instance(void)" ([email protected][email protected]@@[email protected]) MongoCTest1 C:\Users\Nuwanst\source\repos\MongoCTest1\MongoCTest1\MongoCTest1.obj 1 
Error LNK2001 unresolved external symbol "__declspec(dllimport) public: __cdecl mongocxx::v_noabi::instance::~instance(void)" (__imp_??1[email protected][email protected]@@[email protected]) MongoCTest1 C:\Users\Nuwanst\source\repos\MongoCTest1\MongoCTest1\MongoCTest1.obj 1 
Error LNK2001 unresolved external symbol "__declspec(dllimport) public: __cdecl mongocxx::v_noabi::options::client::client(void)" ([email protected]@[email protected]@@[email protected]) MongoCTest1 C:\Users\Nuwanst\source\repos\MongoCTest1\MongoCTest1\MongoCTest1.obj 1 
Error LNK2001 unresolved external symbol "__declspec(dllimport) public: __cdecl mongocxx::v_noabi::options::client::~client(void)" ([email protected]@[email protected]@@[email protected]) MongoCTest1 C:\Users\Nuwanst\source\repos\MongoCTest1\MongoCTest1\MongoCTest1.obj 1 
Error LNK2001 unresolved external symbol "__declspec(dllimport) public: __cdecl mongocxx::v_noabi::uri::uri(class bsoncxx::v_noabi::string::view_or_value)" ([email protected][email protected]@@[email protected][email protected]@[email protected]@@Z) MongoCTest1 C:\Users\Nuwanst\source\repos\MongoCTest1\MongoCTest1\MongoCTest1.obj 1 
Error LNK2001 unresolved external symbol "__declspec(dllimport) public: __cdecl mongocxx::v_noabi::uri::~uri(void)" ([email protected][email protected]@@[email protected]) MongoCTest1 C:\Users\Nuwanst\source\repos\MongoCTest1\MongoCTest1\MongoCTest1.obj 1 
+0

[远远高于以前的尝试更好(https://stackoverflow.com/questions/46753187/mongocxx-driver-testing-error-with-c-code)。但是你真的应该把它编辑成原文,或者删除这个问题不大的问题。 – StoryTeller

回答

3

它说什么说初始化您的驱动程序第一。如果您已正确编译您的驱动程序,则这些代码必须正常工作

#include <cstdlib> 
    #include <iostream> 
    #include <bsoncxx/builder/stream/document.hpp> 
    #include <bsoncxx/json.hpp> 
    #include <mongocxx/client.hpp> 
    #include <mongocxx/instance.hpp> 
    #include <mongocxx/uri.hpp> 


    using bsoncxx::builder::stream::close_document; 
    using bsoncxx::builder::stream::document; 
    using bsoncxx::builder::stream::finalize; 
    using bsoncxx::builder::stream::open_document; 
    mongocxx::instance instance{};// don't put inside main 

int main() { 
mongocxx::client conn{ mongocxx::uri{ "mongodb://localhost:27017" } }; 
auto coll = conn["test"]["coll"]; 
bsoncxx::builder::stream::document document{}; 
document << "Data" << "hello"; 
coll.insert_one(document.view()); 

return 0; 
}