关于centos8编译MongoDB驱动C++流程

本文档记录了在CentOS8系统中编译MongoDB C++驱动的过程,包括编译依赖、步骤及驱动使用方法。首先介绍了问题背景,然后详细阐述了C版本驱动的安装,接着编译MNMLSTC库和C++驱动,并提供了驱动使用的代码示例及编译方法。最后,强调了国内相关中文文档的缺乏,希望通过此教程能帮助遇到同样问题的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

起源

最近一个项目需要用到mongodb来做大数据量的存储,以前用到mongo项目都是其他语言,类似golang,pyhton3等,这次需要使用C++在底层构建mongo支持模块,所以先要研究如果构建和使用mongodb-cxx-driver,顺便依然要吐槽某度,搜索全是没用的东西,随后还是只能上梯子然后自己看英文文档才找到出路,这里理顺之后,记录下步骤,其实非常简单,希望后来的小伙伴能够节约一些时间,我自己就折腾了接近1天时间

资料

mongo官网: http://mongocxx.org/mongocxx-v3/installation/linux/
我是在centos8操作系统下进行的编译,其他操作系统看官方文档,大同小异,本篇记录只针对于我当前使用的版本
mongocxx-3.6.3

编译步骤

步骤全部参照官网这里只是翻译为中文而已

  1. C++驱动版本编译依赖C版本,我们参照官网给出的步骤来安装C版本驱动 http://mongoc.org/libmongoc/current/installing.html (我安装时候显示的是1.17.5,在你看到这个文章的时候也许就不是了,请以最新版本为主),下面步骤,命令行内容(请用root身份运行),都是安装一些库,有些库可能你机器上已经安装了,再运行一遍,不会有任何影响

    • dnf install mongo-c-driver
    • dnf install libbson
    • yum install cmake openssl-devel cyrus-sasl-devel
    • 配置生成,下面的命令,单行输入,如果你使用的版本有所变动,请以官网为准
      wget https://github.com/mongodb/mongo-c-driver/releases/download/1.17.5/mongo-c-driver-1.17.5.tar.gz
      tar xzf mongo-c-driver-1.17.5.tar.gz
      cd mongo-c-driver-1.17.5
      mkdir cmake-build
      cd cmake-build
      cmake -DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF ..
    • 生成
      cmake --build .
      cmake --build . --target install

    编译安装完成,会输出安装目录,一般是位于/usr/local/include,和/usr/local/lib64目录下

  2. 编译C++版本驱动

    • curl -OL https://github.com/mongodb/mongo-cxx-driver/releases/download/r3.6.3/mongo-cxx-driver-r3.6.3.tar.gz
    • tar -xzf mongo-cxx-driver-r3.6.3.tar.gz
    • cd mongo-cxx-driver-r3.6.3/build
    • 配置
      - 动态库编译
      cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local
      - 静态库编译
      cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_SHARED_LIBS_WITH_STATIC_MONGOC=ON -DBUILD_SHARED_AND_STATIC_LIBS=ON
    • 编译MNMLSTC
      cmake --build . --target EP_mnmlstc_core MNMLSTC核心是一个小而易于使用的C++11库,添加了C++14和后面可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鸡码世界

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值