使用mongodb构建C ++项目 [英] Build a c++ project with mongodb

查看:99
本文介绍了使用mongodb构建C ++项目的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想将度量保存在mongoDB文档中,并在以后的操作中使用此数据.

我已按照Joyo Waseem的添加源代码

  #include< cstdint>#include< iostream>#include< vector>#include< bsoncxx/json.hpp>#include< mongocxx/client.hpp>#include< mongocxx/stdx.hpp>#include< mongocxx/uri.hpp>使用bsoncxx :: builder :: stream :: close_array;使用bsoncxx :: builder :: stream :: close_document;使用bsoncxx :: builder :: stream :: document;使用bsoncxx :: builder :: stream :: finalize;使用bsoncxx :: builder :: stream :: open_array;使用bsoncxx :: builder :: stream :: open_document;int main(){mongocxx :: client mongo_client {mongocxx :: uri {"mongodb://localhost:27017"}};返回0;} 

构建解决方案

  1> ----------构建开始:项目:mongodb,配置:调试Win32 ------1> Source.cpp1> mongodb.vcxproj->D:\ dev \ cpptest \ mongodb \ Debug \ mongodb.exe==========构建:1成功,0失败,0最新,跳过0 ========== 

要运行.exe,您需要在路径中添加D:\ dev \ GitHub \ vcpkg \ installed \ x86-windows \ bin.这样,.exe才能找到mongocxx.dll

I want to save measurements in a mongoDB document and use this data in further operations.

I have followed the steps described in this comment by Joyo Waseem to install the needed driver. However, I still get several Error Messages (82 to be specific) in some of the files (alignment_of.hpp; is_nothrow_move_assignable.hpp; view_or_value.hpp; types.hpp; etc). These are just some files which create an error.

The error-messages are:

Severity Code Line Description Error (active) E0243 36 class or struct definition is missing Error (active) E1574 29 static assertion failed with "Arguments to is_nothrow_move_constructible must be complete types" Error (active) E0070 31 incomplete type is not allowed Error (active) E1574 31 static assertion failed with "Arguments to is_nothrow_move_assignable must be complete types" Error (active) E0262 36 not a class or struct name Error (active) E1018 36 namespace "bsoncxx" has no member class "view_or_value" Error (active) E0070 41 incomplete type is not allowed Error (active) E0276 41 name followed by '::' must be a class or namespace name Error (active) E0260 48 explicit type is missing ('int' assumed) Error (active) E0135 48 namespace "mongocxx::v_noabi::stdx" has no member "optional" Error (active) E0065 48 expected a ';' Error (active) E0276 56 name followed by '::' must be a class or namespace name Error (active) E0260 63 explicit type is missing ('int' assumed) Error (active) E0135 63 namespace "mongocxx::v_noabi::stdx" has no member "optional" Error (active) E0065 63 expected a ';' Error (active) E0070 64 incomplete type is not allowed Error (active) E0276 72 name followed by '::' must be a class or namespace name Error (active) E0260 79 explicit type is missing ('int' assumed) Error (active) E0135 79 namespace "mongocxx::v_noabi::stdx" has no member "optional" Error (active) E0065 79 expected a ';' Error (active) E0145 86 member "bsoncxx::v_noabi::types::b_double::type_id" may not be initialized Error (active) E0276 87 name followed by '::' must be a class or namespace name Error (active) E0260 94 explicit type is missing ('int' assumed) Error (active) E0135 94 namespace "mongocxx::v_noabi::stdx" has no member "optional" Error (active) E0065 94 expected a ';' Error (active) E0276 102 name followed by '::' must be a class or namespace name Error (active) E0106 105 invalid type for a bit field Error (active) E0040 105 expected an identifier Error (active) E0260 109 explicit type is missing ('int' assumed) Error (active) E0135 109 namespace "mongocxx::v_noabi::stdx" has no member "optional" Error (active) E0065 109 expected a ';' Error (active) E0145 111 member "bsoncxx::v_noabi::types::b_utf8::type_id" may not be initialized Error (active) E0106 114 invalid type for a bit field Error (active) E0040 114 expected an identifier Error (active) E0260 124 explicit type is missing ('int' assumed) Error (active) E0135 124 namespace "mongocxx::v_noabi::stdx" has no member "optional" Error (active) E0065 124 expected a ';' Error (active) E0077 127 this declaration has no storage class or type specifier Error (active) E0135 127 namespace "mongocxx::v_noabi::stdx" has no member "optional" Error (active) E0065 127 expected a ';' Error (active) E0077 128 this declaration has no storage class or type specifier Error (active) E0135 128 namespace "mongocxx::v_noabi::stdx" has no member "optional" Error (active) E0065 128 expected a ';' Error (active) E0077 129 this declaration has no storage class or type specifier Error (active) E0135 129 namespace "mongocxx::v_noabi::stdx" has no member "optional" Error (active) E0065 129 expected a ';' Error (active) E0077 130 this declaration has no storage class or type specifier Error (active) E0135 130 namespace "mongocxx::v_noabi::stdx" has no member "optional" Error (active) E0065 130 expected a ';' Error (active) E0077 131 this declaration has no storage class or type specifier Error (active) E0135 131 namespace "mongocxx::v_noabi::stdx" has no member "optional" Error (active) E0065 131 expected a ';' Error (active) E0077 132 this declaration has no storage class or type specifier Error (active) E0135 132 namespace "mongocxx::v_noabi::stdx" has no member "optional" Error (active) E0065 132 expected a ';' Error (active) E0145 149 member "bsoncxx::v_noabi::types::b_document::type_id" may not be initialized Error (active) E0145 181 member "bsoncxx::v_noabi::types::b_array::type_id" may not be initialized Error (active) E0106 181 invalid type for a bit field Error (active) E0018 181 expected a ')' Error (active) E0106 190 invalid type for a bit field Error (active) E0040 190 expected an identifier Error (active) E0145 206 member "bsoncxx::v_noabi::types::b_binary::type_id" may not be initialized Error (active) E0145 230 member "bsoncxx::v_noabi::types::b_undefined::type_id" may not be initialized Error (active) E0145 246 member "bsoncxx::v_noabi::types::b_oid::type_id" may not be initialized Error (active) E0106 262 invalid type for a bit field Error (active) E0018 262 expected a ')' Error (active) E0145 264 member "bsoncxx::v_noabi::types::b_bool::type_id" may not be initialized Error (active) E0106 271 invalid type for a bit field Error (active) E0040 271 expected an identifier Error (active) E0145 289 member "bsoncxx::v_noabi::types::b_date::type_id" may not be initialized Error (active) E0145 350 member "bsoncxx::v_noabi::types::b_null::type_id" may not be initialized Error (active) E0145 366 member "bsoncxx::v_noabi::types::b_regex::type_id" may not be initialized Error (active) E0145 402 member "bsoncxx::v_noabi::types::b_dbpointer::type_id" may not be initialized Error (active) E0145 421 member "bsoncxx::v_noabi::types::b_code::type_id" may not be initialized Error (active) E0145 462 member "bsoncxx::v_noabi::types::b_symbol::type_id" may not be initialized Error (active) E0145 500 member "bsoncxx::v_noabi::types::b_codewscope::type_id" may not be initialized Error (active) E0145 533 member "bsoncxx::v_noabi::types::b_int32::type_id" may not be initialized Error (active) E0145 562 member "bsoncxx::v_noabi::types::b_timestamp::type_id" may not be initialized Error (active) E0145 581 member "bsoncxx::v_noabi::types::b_int64::type_id" may not be initialized Error (active) E0145 606 member "bsoncxx::v_noabi::types::b_decimal128::type_id" may not be initialized Error (active) E0145 637 member "bsoncxx::v_noabi::types::b_minkey::type_id" may not be initialized Error (active) E0145 653 member "bsoncxx::v_noabi::types::b_maxkey::type_id" may not be initialized

I don‘t know if I have done something wrong/skipt something that is considered as an unspoken standard or if some parts of the software are incompatible. Just to make sure, if I have used vcpkg to install the drivers, do I still need to include some directories in the properties? Like for example the additional-Include Directory? Is there also a difference between using vcpkg and cmake?

Thanks for your help in advance.

解决方案

It is a bit unclear from your question what your code is doing. I will include an example on how to build the sample code below. vcpkg is a packaging manager and cmake is a build tool.

Setup vcpkg in a command prompt:

cd vcpkg
bootstrap-vcpkg.bat
vcpkg install mongo-cxx-driver

Setup a Visual Studio project
Add source code

#include <cstdint>
#include <iostream>
#include <vector>
#include <bsoncxx/json.hpp>
#include <mongocxx/client.hpp>
#include <mongocxx/stdx.hpp>
#include <mongocxx/uri.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() {
    mongocxx::client mongo_client{ mongocxx::uri{"mongodb://localhost:27017"} };
    return 0;
}

Build Solution

1>------ Build started: Project: mongodb, Configuration: Debug Win32 ------
1>Source.cpp
1>mongodb.vcxproj -> D:\dev\cpptest\mongodb\Debug\mongodb.exe
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

The to run the .exe you need to add D:\dev\GitHub\vcpkg\installed\x86-windows\bin to the path. This is so that the .exe can find the mongocxx.dll

这篇关于使用mongodb构建C ++项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆