yum install mongo-c-driver

sudo yum install cmake openssl-devel cyrus-sasl-devel

$ wget https://github.com/mongodb/mongo-c-driver/releases/download/ 1.17.0 / mongo-c-driver-1.17.0.tar.gz
$ tar xzf mongo-c-driver-1.17.0.tar.gz
$ cd mongo-c-driver-1.17.0
$ mkdir cmake-build
$ cd cmake-build
$ cmake -DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF ..

-DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF建议使用该选项,请参阅初始化和清除。
另一个有用的cmake选项是-DCMAKE_BUILD_TYPE=Release针对发行版优化的构建和-DCMAKE_BUILD_TYPE=Debug调试的构建。
有关所有配置选项的列表,请运行。cmake -L ..

如果cmake成功完成,您将看到大量的输出描述您的构建配置。输出的最后一行应如下所示:

-构建文件已写入:/home/user/mongo-c-driver-1.17.0/cmake-build

如果您的系统尚未安装libbson,则mongo-c-driver包含libbson的副本。该配置将检测是否未安装libbson并使用捆绑的libbson。

此外,可以通过设置以下-DENABLE_MONGOC=OFF选项来仅构建libbson :

$ cmake -DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF -DENABLE_MONGOC=OFF ..

构建:

cmake --build .
$ sudo cmake --build . --target install

安装Sphinx pip install -U Sphinx ,然后:

$ cmake -DENABLE_MAN_PAGES=ON -DENABLE_HTML_DOCS=ON ..
$ cmake --build . --target mongoc-doc
要仅构建libbson文档:

$ cmake -DENABLE_MAN_PAGES=ON -DENABLE_HTML_DOCS=ON ..
$ cmake --build . --target bson-doc
该-DENABLE_MAN_PAGES=ON并且-DENABLE_HTML_DOCS=ON还可以添加从发行tar包或混帐,使得文档的同时其它部件内置选项,以正常体形。

卸载已安装组件: sudo /usr/local/share/mongo-c-driver/uninstall.sh

gcc -o hello_mongoc hello_mongoc.c -I/usr/local/include/libbson-1.0 -I/usr/local/include/libmongoc-1.0 -lmongoc-1.0 -lbson-1.0
./hello_mongoc
{ "ok" : 1.000000 }

=========================================================================================================

libmongoc安装包含CMake配置文件包,因此您可以使用CMake的find_package命令导入libmongoc的CMake目标并链接到libmongoc(作为共享库):

的CMakeLists.txt
# Specify the minimum version you require.
find_package (mongoc-1.0 1.7 REQUIRED)

# The "hello_mongoc.c" sample program is shared among four tests.
add_executable (hello_mongoc ../../hello_mongoc.c)
target_link_libraries (hello_mongoc PRIVATE mongo::mongoc_shared)
您还可以将libmongoc用作静态库:使用mongo::mongoc_staticCMake目标:

# Specify the minimum version you require.
find_package (mongoc-1.0 1.7 REQUIRED)

# The "hello_mongoc.c" sample program is shared among four tests.
add_executable (hello_mongoc ../../hello_mongoc.c)
target_link_libraries (hello_mongoc PRIVATE mongo::mongoc_static)
pkg-
如果您不使用CMake,请在命令行上使用pkg-config设置标头和库路径:

gcc -o hello_mongoc hello_mongoc.c $(pkg-config --libs --cflags libmongoc-1.0)
或静态链接到libmongoc:

gcc -o hello_mongoc hello_mongoc.c $(pkg-config --libs --cflags libmongoc-static-1.0)
指定标题并手动包含路径
如果您不使用CMake或pkg-config,则可以手动管理路径和库。

$ gcc -o hello_mongoc hello_mongoc.c \
-I/usr/local/include/libbson-1.0 -I/usr/local/include/libmongoc-1.0 \
-lmongoc-1.0 -lbson-1.0
$ ./hello_mongoc
{ "ok" : 1.000000 }

linux安装mongo-c-driver的更多相关文章

  1. linux 安装 mongo 3.4

    要求:linux 安装 mongo 3.4 大体上,按照官网提供的方法来做. 系统是ubuntu 16.04 安装的是mongo3.4.8 社区版 1.         导入导入包管理系统使用的公钥 ...

  2. linux 安装mongo

    在Linux中安装Mongodb操作说明 MongoDB配置 版本说明:因本机所装Red Hat 为 64位操作系统故本例以64位的MongDB为例.所用版本如下: (1)    Red Hat En ...

  3. linux 安装 mongo

    整个安装过程:下载安装包--> 解压,添加系统路径(是滴,不用安装解压即可) --> 创建数据目录 --> 启动mongod服务 --> 运行mongo 1.下载安装包 Mon ...

  4. Linux—Ubuntu14.0.5安装mongo

    1.安装mongo sudo apt-get install mongo 2.如果遇到找不到安装包运行,那就更新资源列表 sudo apt-get update 3.安装成功会自动运行mongo pg ...

  5. MongoDB之二基础入门(window/linux安装启动)

    mongodb中有三元素:数据库,集合,文档,其中“集合”就是对应关系数据库中的“表”,“文档”对应“行”. 一window安装与启动 一. 下载 上MongoDB官网 ,下载页面:https://w ...

  6. Symantec Backup Exec 2012 Agent For Linux安装

    Backup Exec 2012 介绍 Backup Exec 2012 是一种为虚拟和物理环境提供保护的集成产品,能够简化备份和灾难恢复,并提供了无可匹敌的恢复功能.借助于强大的 Symantec ...

  7. linux 安装mongodb

    Linux 安装mongodb 1.下载mongodb linux wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-amazon- ...

  8. Linux安装程序Anaconda分析

    1.概述     Anaconda是RedHat.CentOS.Fedora等Linux的安装管理程序.它能够提供文本.图形等安装管理方式,并支持Kickstart等脚本提供自己主动安装的功能.此外, ...

  9. Linux安装简介

    一.基本简介 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统. Linux能运行主要的UNIX工具软件.应用程序 ...

  10. Linux安装 火速入门

    一.基本简介 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统. Linux能运行主要的UNIX工具软件.应用程序 ...

随机推荐

  1. Kato's inequality and subharmonic function

    If $\Delta u=0$ in $\Omega\subset\mathbb{R}^n (n\geq2)$, then  for $p>\frac{n-2}{n-1}$, $|Du|^p$ ...

  2. mvc和ef如何连接

    1.一般加上ef步骤:引入ef包,新建自己的context并继承自DbContext,构造函数里写上链接字符串,属性都是表集合.如何使用:程序中UserContext un = new UserCon ...

  3. 关于osqp

    看了osqp的英文概要,记录如下: 1.采用交替方向乘子法 2.通过因式分解高速缓冲和热启动可以减少运算时间 3.适合嵌入式系统,实测mpc在10ms之内,路径规划在20ms左右(少障碍物),障碍物多 ...

  4. java.3 Java数据类型1

    数据类型讲解 Java属于强类型语言 即要求变量的使用要严格符合规定,所有变量都必须严格定义以后才能使用 优点:安全性高 缺点:速度慢(相对而言) Java数据类型分为引用类型和基本类型 基本数据类型 ...

  5. 为什么gdb通过0地址显示偏移会提示地址错误

    现象 在gdb中,如果想看一个struct的某个field的偏移量,和C语言一样可以通过对一个0地址变量取地址,然后取成员的偏移量获得.更神奇的地方在于和C语言一样,这里也不会触发内存访问异常. 另外 ...

  6. java & spring 注解 备忘

    java deprecated 注解 1 /** 2 * General service for all common business logic. 3 * 4 * @author wanghaip ...

  7. HDLbits——Exams/2014 q4b

    题目要求 使用verilog描述如图所示得移位寄存器: Write a top-level Verilog module (named top_module) for the shift regist ...

  8. KEIL5中C/C++优化等级问题

    知乎上有篇详解   https://zhuanlan.zhihu.com/p/24402180 强烈推荐 C/C++的优化等级会对程序产生 不定性的影响,至于选择哪种优化等级必须从 现有的程序分析才行 ...

  9. .net基础—多线程(二)

    Thread 在.NET中最早提供的控制线程类型的类型:System.Threading.Thread类.使用该类型可以直观地创建.控制和结束线程.下面是一个简单的多线程程序: static void ...

  10. windows2020 更换sid

    cmd whoami /user 查看sid的值 点击运行sysprep程序.记得在"通用"前面打上勾 点击运行sysprep程序.记得在"通用"前面打上勾