You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CMake找不到libbsoncxx配置文件,求解决方法及Libbsoncxx获取路径

How to Get Libbsoncxx & Fix the CMake Package Not Found Error

先帮你理清两个问题:获取Libbsoncxx的途径,以及解决你遇到的CMake配置错误。

一、获取Libbsoncxx的两种方式

1. 系统包管理器安装(最简便推荐)

不同系统的安装命令如下:

  • Debian/Ubuntu 系:
    sudo apt update && sudo apt install libbsoncxx-dev
    
  • RHEL/CentOS/Fedora 系:
    sudo dnf install libbsoncxx-devel
    
  • macOS(使用Homebrew):
    brew install libbsoncxx
    
    注:部分Homebrew版本中,libbsoncxx属于mongo-cxx-driver的子组件,若上述命令找不到包,可尝试brew install mongo-cxx-driver。

2. 源码编译安装(适合需要特定版本的场景)

如果系统包没有你需要的版本,可以从官方源码编译:

  • 克隆并切换到稳定版源码:
    git clone https://github.com/mongodb/mongo-cxx-driver.git
    cd mongo-cxx-driver
    git checkout releases/stable
    
  • 创建编译目录并配置CMake:
    mkdir build && cd build
    cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local
    
    这里的CMAKE_INSTALL_PREFIX可以替换为你自定义的安装路径,比如~/local。
  • 编译并安装:
    make -j$(nproc)
    sudo make install
    

二、解决CMake找不到libbsoncxx的错误

先把你遇到的错误信息贴出来方便对照:

CMake Error at plugins/db_plugin/CMakeLists.txt:21 (find_package): 由于未在CMAKE_MODULE_PATH中提供"Findlibbsoncxx.cmake",本项目要求CMake查找由"libbsoncxx"提供的包配置文件,但CMake未找到。未找到任何以下列名称存在的"libbsoncxx"提供的包配置文件:libbsoncxxConfig.cmake、libbsoncxx-config.cmake。请将"libbsoncxx"的安装前缀添加到CMAKE_PREFIX_PATH中,或者将"libbsoncxx_DIR"设置为包含上述文件之一的目录。如果"libbsoncxx"提供单独的开发包或SDK,请确保已安装该包。
-- 配置未完成,发生错误!

这个错误的核心是CMake找不到libbsoncxx的配置文件,按以下步骤排查:

步骤1:确认安装了开发包

很多系统会把运行时库和开发文件(头文件、CMake配置文件)分开打包,你必须安装带-dev或-devel后缀的包,而不是只装运行时的libbsoncxx包。如果是源码编译的,确保make install执行成功,配置文件会被安装到${CMAKE_INSTALL_PREFIX}/lib/cmake/libbsoncxx-xxx目录下(xxx为具体版本号)。

步骤2:手动指定libbsoncxx的安装路径

如果libbsoncxx安装在非标准路径(比如自定义的~/local),需要告诉CMake它的位置:

  • 方法一:通过CMAKE_PREFIX_PATH指定安装前缀:
    cmake .. -DCMAKE_PREFIX_PATH=/path/to/libbsoncxx/install
    
    比如源码安装到~/local,就用-DCMAKE_PREFIX_PATH=~/local。
  • 方法二:直接指定配置文件所在目录:
    cmake .. -Dlibbsoncxx_DIR=/usr/local/lib/cmake/libbsoncxx-3.8.0
    
    替换路径为你实际安装的版本对应的目录。

步骤3:如果项目自带查找脚本

如果你的项目自己提供了Findlibbsoncxx.cmake文件,需要把该文件所在目录加到CMAKE_MODULE_PATH:

cmake .. -DCMAKE_MODULE_PATH=/path/to/directory/containing/Findlibbsoncxx.cmake

按上面的步骤操作,应该就能解决这个CMake配置错误了。

内容的提问来源于stack exchange,提问作者Babalon Cryptolog

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:25:10