首页 文章

使用mongodb构建一个c项目

提问于
浏览
0

我想在mongoDB文档中保存测量值,并在进一步的操作中使用这些数据 .

我按照Joyo Waseem的comment中描述的步骤安装了所需的驱动程序 . 但是,我仍然在一些文件中找到了几个错误消息(82具体)(alignment_of.hpp; is_nothrow_move_assignable.hpp; view_or_value.hpp; types.hpp;等) . 这些只是一些产生错误的文件 .

错误消息是:

严重级代码行说明错误(活动)E0243缺少类或结构定义错误(活动)E1574 29静态断言失败,“is_nothrow_move_constructible的参数必须是完整类型”错误(活动)E0070 31不允许不完整类型错误(活动) )E1574 31静态断言失败,“is_nothrow_move_assignable的参数必须是完整类型”错误(活动)E0262 36不是类或结构名称错误(活动)E1018 36命名空间“bsoncxx”没有成员类“view_or_value”错误(活动)E0070不允许41不完整类型错误(活动)E0276 41名称后跟'::'必须是类或命名空间名称错误(活动)E0260 48缺少显式类型(假定为'int')错误(活动)E0135 48命名空间“ mongocxx :: v_noabi :: stdx“没有成员”可选“错误(有效)E0065 48预期';'错误(活动)E0276 56名称后跟'::'必须是类或命名空间名称错误(活动)E0260 63缺少显式类型(假定为'int')错误(活动)E0135 63命名空间“mongocxx :: v_noabi :: stdx“没有成员”可选“错误(有效)E0065 63预期';'错误(活动)E0070 64不完整类型不允许错误(活动)E0276 72名称后跟'::'必须是类或命名空间名称错误(活动)E0260 79显式类型丢失(假定'int')错误(活动) )E0135 79命名空间“mongocxx :: v_noabi :: stdx”没有成员“可选”错误(活动)E0065 79预期';'错误(活动)E0145 86成员“bsoncxx :: v_noabi :: types :: b_double :: type_id”可能未初始化错误(活动)E0276 87名称后跟'::'必须是类或命名空间名称错误(活动) E0260 94缺少显式类型(假定'int')错误(活动)E0135 94命名空间“mongocxx :: v_noabi :: stdx”没有成员“可选”错误(活动)E0065 94预期';'错误(活动)E0276 102名称后跟'::'必须是类或命名空间名称错误(活动)E0106 105位字段的无效类型错误(活动)E0040 105预期标识符错误(活动)E0260 109显式类型是缺失('int'假设)错误(活动)E0135 109命名空间“mongocxx :: v_noabi :: stdx”没有成员“可选”错误(活动)E0065 109预期';'错误(活动)E0145 111成员“bsoncxx :: v_noabi :: types :: b_utf8 :: type_id”可能未初始化错误(活动)E0106 114位字段的无效类型错误(活动)E0040 114预期标识符错误(活动) )E0260 124缺少显式类型(假设'int')错误(活动)E0135 124命名空间“mongocxx :: v_noabi :: stdx”没有成员“可选”错误(活动)E0065 124预期';'错误(活动)E0077 127此声明没有存储类或类型说明符错误(活动)E0135 127命名空间“mongocxx :: v_noabi :: stdx”没有成员“可选”错误(活动)E0065 127期望';'错误(活动)E0077 128此声明没有存储类或类型说明符错误(活动)E0135 128命名空间“mongocxx :: v_noabi :: stdx”没有成员“可选”错误(活动)E0065 128预期为';'错误(活动)E0077 129此声明没有存储类或类型说明符错误(活动)E0135 129命名空间“mongocxx :: v_noabi :: stdx”没有成员“可选”错误(活动)E0065 129预期为';'错误(活动)E0077 130此声明没有存储类或类型说明符错误(活动)E0135 130命名空间“mongocxx :: v_noabi :: stdx”没有成员“可选”错误(活动)E0065 130预期为';'错误(活动)E0077 131此声明没有存储类或类型说明符错误(活动)E0135 131命名空间“mongocxx :: v_noabi :: stdx”没有成员“可选”错误(活动)E0065 131预期为';'错误(活动)E0077 132此声明没有存储类或类型说明符错误(活动)E0135 132命名空间“mongocxx :: v_noabi :: stdx”没有成员“可选”错误(活动)E0065 132预期';'错误(活动)E0145 149成员“bsoncxx :: v_noabi :: types :: b_document :: type_id”可能未初始化错误(活动)E0145 181成员“bsoncxx :: v_noabi :: types :: b_array :: type_id”可能不会初始化错误(有效)E0106 181位字段无效类型错误(有效)E0018 181预期a')'错误(有效)E0106 190位字段无效类型错误(有效)E0040 190预期标识符错误(有效) E0145 206成员“bsoncxx :: v_noabi :: types :: b_binary :: type_id”可能未初始化错误(活动)E0145 230成员“bsoncxx :: v_noabi :: types :: b_undefined :: type_id”可能未初始化错误(活动)E0145 246成员“bsoncxx :: v_noabi :: types :: b_oid :: type_id”可能未初始化错误(有效)E0106 262位字段无效类型错误(有效)E0018 262预期a')'错误(有效)E0145 264成员“bsoncxx :: v_noabi :: types :: b_bool :: type_id”可能未初始化错误(有效)E0106 271位字段无效类型错误(有效)E0040 271预期标识符错误(有效)E0145 289成员“bsoncxx :: v_noabi :: types :: b_date :: type_id”可能未初始化错误(有效)E0145 350个成员“bsoncxx :: v_noabi :: types :: b_null :: type_id”可能未初始化错误(活动)E0145 366成员“bsoncxx :: v_noabi :: types :: b_regex :: type_id”可能未初始化错误(活动)E0145 402成员“bsoncxx :: v_noabi :: types :: b_dbpointer :: type_id”可能未初始化错误(活动)E0145 421成员“bsoncxx :: v_noabi :: types :: b_code :: type_id”可能未初始化错误(有效)E0145 462成员“bsoncxx :: v_noabi :: types :: b_symbol :: type_id”可能未初始化错误(有效)E0145 500成员“bsoncxx :: v_noabi :: types :: b_codewscope :: type_id”可能不是初始化错误(激活e)E0145 533成员“bsoncxx :: v_noabi :: types :: b_int32 :: type_id”可能未初始化错误(活动)E0145 562成员“bsoncxx :: v_noabi :: types :: b_timestamp :: type_id”可能未初始化错误(活动)E0145 581成员“bsoncxx :: v_noabi :: types :: b_int64 :: type_id”可能未初始化错误(活动)E0145 606成员“bsoncxx :: v_noabi :: types :: b_decimal128 :: type_id”可能不会初始化错误(活动)E0145 637成员“bsoncxx :: v_noabi :: types :: b_minkey :: type_id”可能未初始化错误(活动)E0145 653成员“bsoncxx :: v_noabi :: types :: b_maxkey :: type_id”可能无法初始化

我不知道我做错了什么/跳过一些被认为是不言而喻的标准,或者软件的某些部分是不兼容的 . 只是为了确保,如果我使用vcpkg来安装驱动程序,我还需要在属性中包含一些目录吗?比如附加包含目录?使用vcpkg和cmake之间是否也有区别?

感谢您的帮助 .

1 回答

  • 0

    从你的问题中你的代码做了什么有点不清楚 . 我将在下面提供一个如何构建示例代码的示例 . vcpkg是一个打包管理器,cmake是一个构建工具 .

    在命令提示符中设置vcpkg:

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

    设置Visual Studio项目
    添加源代码

    #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;
    }
    

    构建解决方案

    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 ==========
    

    要运行.exe,您需要将D:\ dev \ GitHub \ vcpkg \ installed \ x86-windows \ bin添加到路径中 . 这是为了使.exe可以找到mongocxx.dll

相关问题