安装预构建的 MongoDB C 驱动程序库
libmongoc
和libbson
库通常可通过 Homebrew 在常见 Linux 发行版和macOS 的软件包管理存储库中找到。
注意
对于Windows,建议改为从源构建库,以最大限度地与本地工具链兼容。 可以使用源代码库包管理工具(例如 Conan 或 vcpkg (请参阅: 使用库包管理器进行跨平台安装 )。
警告
如果您安装并使用第三方打包程序提供的预构建二进制文件,则它可能会滞后于这些文档页面 ( 1.28 ) 中描述的库版本。 阅读这些页面时,请注意并记住您安装的版本。
对于最新版本的 C 驱动程序库,最好从源代码进行构建。
使用库包管理器进行跨平台安装
各种库包管理器提供libbson
和libmongoc
作为可安装的软件包,包括 Conan 和 vcpkg 。本节将详细介绍如何使用这些工具进行安装。
使用 vcpkg 安装
在 vcpkg 清单模式 ,将所需的库添加到项目的vcpkg.json
清单文件:
{ // ... "dependencies": [ // ... "mongo-c-driver" ] }
当您使用 vcpkg 集成构建CMake项目并具有vcpkg.json
清单文件时,vcpkg 将在继续配置阶段之前自动安装项目的依赖项,因此无需额外的手动工作。
在 vcpkg 经典模式 、libbson
和libmongoc
可以分别通过名称libbson
和mongo-c-driver
安装:
$ vcpkg install mongo-c-driver
(安装mongo-c-driver
也会同时安装libbson
。)
当安装了libmongoc
和libbson
软件包并且 vcpkg 已正确集成到您的构建系统中时,就可以导入所需的库了。
使用 CMake,可以使用标准配置文件包以及生成的IMPORTED
目标:
find_package(mongoc-1.0 CONFIG REQUIRED) target_link_libraries(my-application PRIVATE $<IF:$<TARGET_EXISTS:mongo::mongoc_shared>,mongo::mongoc_shared,mongo::mongoc_static>)
注意
大型$<IF:$<TARGET_EXISTS...>:...>
生成器表达式可用于根据find_package()
命令中的可用形式切换libmongoc
的链接类型。 libmongoc
支持使用动态和静态库类型进行构建,但 vcpkg 一次只会安装两种库类型中的一种。
使用 vcpkg 集成配置 CMake 项目只需在初始配置命令中设置 CMake 工具链文件即可:
$ cmake -S . -B _build -D CMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake
在 Linux 中安装
安装libbson
和libmongoc
的名称和过程因发行版而异,但通常遵循相似的模式。
以下 Linux 发行版提供libbson
和libmongoc
软件包:
Fedora通过
dnf
RedHat Enterprise Linux (RHEL) 7及更高版本以及基于 RHEL 7或更高版本的发行版,包括 CentOS、Rocky Linux 和 AlmaLinux(通过
yum
/dnf
和 EPEL)。
基于 RedHat 的系统
在基于RedHat的Linux发行版(包括Fedora 、 CentOS 、 Rocky Linux和AlmaLinux )中, C驾驶员库可以与 Yum/DNF 一起安装。
注意
对于8或更高版本的 Fedora 和企业版 Linux,建议使用dnf
命令代替任何yum
命令。
重要
除 Fedora 之外:
C 驱动程序库仅在相应企业 Linux 发行版的7及更高版本中可用。 但是,C 驱动程序库在默认存储库中不可用,但可以通过启用 EPEL 存储库来获取。 这可以通过安装epel-release
包来完成:
# yum install epel-release
epel-release
必须在尝试安装 C 驱动程序库之前安装(即无法在单个yum install
命令中同时安装它们)。
要仅安装libbson
,请安装libbson-devel
软件包:
# yum install libbson-devel
要安装完整的 C 数据库驱动程序 ( libmongoc
),请安装mongo-c-driver-devel
:
## (This package will transitively install libbson-devel) # yum install mongo-c-driver-devel
要检查哪个版本可用,请参阅 https://packages.fedoraproject.org/pkgs/mongo-c-driver/mongo-c-driver-devel。
开发包(以-devel
结尾)包括使用libbson
和libmongoc
构建应用程序所需的文件。 要仅安装库而不安装开发文件,请安装libbson
或mongo-c-driver-libs
软件包。
基于 Debian 的系统
在基于 Debian 的 Linux 发行版(包括 Ubuntu 和 Ubuntu 衍生品)中, libbson
和libmongoc
可通过 APT 在发行版存储库中使用,并且可分别安装为libbson-dev
和libmongoc-dev
:
## Update repository information, if necessary: # apt update
要仅安装libbson
:
# apt install libbson-dev
要安装libmongoc
(这也会安装libbson
):
# apt install libmongoc-dev
要检查哪个版本可用,请运行apt-cache policy libmongoc-dev
。
开发包(以-dev
结尾)包括使用libbson
和libmongoc
构建应用程序所需的文件。 要仅安装库而不安装开发文件,请安装libbson-1.0-0
或libmongoc-1.0-0
软件包。
使用 Homebrew 在 macOS 上安装
如果使用的是 macOS 系统,则可以使用libmongoc
libbson
Homebrew 安装C驾驶员库(包括 和 ) 包管理器,使用以下命令:
$ brew install mongo-c-driver
注意
Homebrew 不为libbson
和libmongoc
提供单独的软件包。
提示
Homebrew macOS默认不安装包管理器。有关安装 Homebrew 的信息,请参阅 Homebrew 安装文档页面 。