当前位置: 首页> 汽车> 时评 > 源码资源_集团网站设计专业团队_广东东莞疫情最新消息_app推广怎么做

源码资源_集团网站设计专业团队_广东东莞疫情最新消息_app推广怎么做

时间:2025/7/13 6:42:53来源:https://blog.csdn.net/qq_52572621/article/details/144167389 浏览次数: 0次
源码资源_集团网站设计专业团队_广东东莞疫情最新消息_app推广怎么做

Ubuntu 构建安装 mongocxx 驱动(使用指定版本 mongoc 驱动)

    • 安装依赖项
    • 安装 mongo-cxx-driver
    • 测试安装

本文是安装 MongoDB C++ 驱动程序(mongocxx)的详细教程,系统使用的是 Ubuntu24。
如果想安装 mongodb 数据库,在这里我并不推荐官方教程,推荐文章:如何在 Ubuntu 24.04 上安装 MongoDB 并确保其安全

安装依赖项

  1. 更新包管理器和安装必要的依赖项:
    sudo apt update
    sudo apt install -y cmake libssl-dev libsasl2-dev
    
  2. 安装 MongoDB C 驱动(libmongoclibbson,是安装 mongocxx 所需要的依赖),如果你有 mongo-c-driver ,请跳过这一步
    git clone https://github.com/mongodb/mongo-c-driver.git --branch="1.26.2" "mongo-c-driver"
    
    此命令会克隆 1.26.2 版本的 mongoc 驱动仓库(如果想安装其他版本,把 1.26.2 替换为对应的版本即可),并保存至当前目录下的 mongo-c-driver 目录。下载完成后执行如下命令进行项目构建(建议构建前把 build 目录备份一份):
    # 建议备份
    cp -r mongo-c-driver/build mongoc-c-driver/build.bak
    # 进入到构建目录
    cd mongo-c-driver/build
    # 配置 libbson。-S 指定源目录;-B 指定构建目录。一定要指定 `ENABLE_MONGOC=ON`,否则没有 libmongoc 动态库文件生成。
    cmake -S .. -B . \
    -D ENABLE_EXTRA_ALIGNMENT=OFF \
    -D ENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF \
    -D CMAKE_BUILD_TYPE=RelWithDebInfo \
    -D BUILD_VERSION="1.26.2" \
    -D ENABLE_MONGOC=ON
    # 配置项目,生成构建文件
    cmake ..
    # 并行构建
    cmake --build . --config RelWithDebInfo --parallel
    # 安装构建结果,将会安装到默认目录 /usr/local 下
    $ sudo cmake --build . --target install --config RelWithDebInfo
    
  3. 如需卸载 mongoc,请在 build 目录下使用如下命令:
    sudo cmake --build . --target uninstall --config RelWithDebInfo
    

安装 mongo-cxx-driver

cmake 版本要求至少 3.15
C++ 编译器 GCC 必须支持 C++17

  1. 首先创建一个目录存放 mongo-cxx-driver 源码,这里我选择直接使用当前用户的 home 目录。
    cd ~/.
    
  2. 下载 mongo-cxx 驱动源码压缩包,这里选择的版本是 3.10.2(因为 3.11.0 以上的 mongocxx 要求 c-driver 版本最低为 1.28.0,但上方下载的是 1.26.2,具体参考:github)。
    wget https://github.com/mongodb/mongo-cxx-driver/releases/download/r3.10.2/mongo-cxx-driver-r3.10.2.tar.gz
    
  3. 解压缩并进入到源码目录中(建议开始如下操作前,把 build 目录备份一份
    tar -xzf mongo-cxx-driver-r3.10.2.tar.gz
    # 建议备份
    cp -r mongo-cxx-driver-r3.10.2/build mongo-cxx-driver-r3.10.2/build.bak
    cd mongo-cxx-driver-r3.10.2/build
    
  4. 配置并安装
    # 配置,默认 mongocxx 会安装在当前目录下的 install 目录中。配置-DMONGOCXX_OVERRIDE_DEFAULT_INSTALL_PREFIX=OFF,使安装目录改为 /usr/local
    cmake ..                                \
    -DCMAKE_BUILD_TYPE=Release          	\
    -DCMAKE_CXX_STANDARD=17         		\
    -DMONGOCXX_OVERRIDE_DEFAULT_INSTALL_PREFIX=OFF
    # 编译构建
    cmake --build .
    # 安装,会安装在 /usr/local 目录下
    sudo cmake --build . --target install
    
  5. 如需卸载 mongocxx,请使用如下两种方式之一:
    # 调用卸载目标
    sudo cmake --build . --target uninstall
    # 运行卸载脚本
    sudo <install-dir>/share/mongo-cxx-driver/uninstall.sh
    

测试安装

 下方将给出测试用例,请注意替换您数据库的用户名和密码

  1. ~/. 目录下创建示例 test.cpp

    #include <mongocxx/client.hpp>
    #include <mongocxx/instance.hpp>
    #include <mongocxx/uri.hpp>
    #include <mongocxx/exception/exception.hpp>
    #include <iostream>
    #include <bsoncxx/json.hpp> // 用于 bsoncxx::to_json
    #include <bsoncxx/builder/stream/document.hpp> // 用于 bsoncxx::builder::streamint main() {// 初始化 MongoDB 客户端mongocxx::instance instance{}; // 必须在程序生命周期中存在try {// 设置连接 URI,包括数据库、用户名和密码mongocxx::uri uri("mongodb://用户名:密码@localhost:27017/admin");// 创建客户端并连接到数据库mongocxx::client client(uri);// 获取 admin 数据库auto db = client["admin"];// 检查是否能够成功执行命令auto result = db.run_command(bsoncxx::builder::stream::document{}<< "ping" << 1<< bsoncxx::builder::stream::finalize);std::cout << "MongoDB connected successfully: "<< bsoncxx::to_json(result)<< std::endl;} catch (const mongocxx::exception& e) {std::cerr << "MongoDB connection failed: " << e.what() << std::endl;return EXIT_FAILURE;}return EXIT_SUCCESS;
    }
    
  2. 编译指令

    g++ -std=c++17 test.cpp -o test -lmongocxx -lbsoncxx -I/usr/local/include/mongocxx/v_noabi -I/usr/local/include/bsoncxx/v_noabi -L/usr/local/lib -pthread
    
  3. 编译完成后,如果运行未出现如下问题,说明安装成功!恭喜您。
    img test 如果出现这个问题,并且 ldd test 显示未找到动态链接库:
    ldd test
    则需要手动指定动态库位置,具体操作如下,请注意你自己的 libmongocxx.so.3.10.2libbsoncxx.so.3.10.2 存放位置:

    cd /usr/local/libsudo rm libmongocxx.so._noabisudo rm libbsoncxx.so._noabisudo ln -s /usr/local/lib/libmongocxx.so.3.10.2 /usr/local/lib/libmongocxx.so._noabisudo ln -s /usr/local/lib/libbsoncxx.so.3.10.2 /usr/local/lib/libbsoncxx.so._noabi
    # 下方命令可能会弹出一些提示信息,不用管。
    sudo ldconfigcd ~/.
    

    此时运行 ldd test 显示如下:
    在这里插入图片描述
    ./test 运行结果如下:
    在这里插入图片描述

至此,关于安装 mongocxx 驱动的教程结束。

关键字:源码资源_集团网站设计专业团队_广东东莞疫情最新消息_app推广怎么做

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: