编译libmongocxx时找不到'libmongoc-1.0'

来源:互联网 发布:汽车防盗编程器 编辑:程序博客网 时间:2024/06/05 20:25

根据官网的安装说明(https://mongodb.github.io/mongo-cxx-driver/mongocxx-v3/installation/)编译安装libmongocxx,简要步骤如下:

Prerequisite: cmake libbson boost libmongoc
curl -OL https://github.com/mongodb/mongo-cxx-driver/archive/r3.1.1.tar.gz
tar -xzf r3.1.1.tar.gz mongo-cxx-driver-r3.1.1.tar.gz
cd mongo-cxx-driver-r3.1.1/build
cmake -DCMAKE_BUILD_TYPE=Release -DBSONCXX_POLY_USE_BOOST=1 -DCMAKE_INSTALL_PREFIX=/usr/local ..
make
make install

安装过程中,抛出以下错误提示:
– Checking for module ‘libmongoc-1.0>=1.5.0’
CMake Error at /usr/local/share/cmake-3.6/Modules/FindPkgConfig.cmake:424 (message):
A required package was not found
Call Stack (most recent call first):
/usr/local/share/cmake-3.6/Modules/FindPkgConfig.cmake:597 (_pkg_check_modules_internal)
cmake/FindLibMongoC.cmake:33 (pkg_check_modules)
src/mongocxx/CMakeLists.txt:23 (find_package)

查看系统是否已经安装libmongoc, 运行find / -name libmongoc,发现libmongoc已经存在,说明cmake在生成makefile文件时没有指定正确的libmongoc库的安装位置。
/usr/local/lib/libmongoc-1.0.la
/usr/local/lib/libmongoc-1.0.so.0.0.0
/usr/local/lib/libmongoc-1.0.so.0

解决方法很简单,添加 -DLIBMONGOC_DIR=/usr/local/ 选项来指定prefix,之后再次尝试生成makefile文件。

cmake -DLIBMONGOC_DIR=/usr/local/ -DCMAKE_BUILD_TYPE=Release -DBSONCXX_POLY_USE_BOOST=1 -DCMAKE_INSTALL_PREFIX=/usr/local ..

这里写图片描述

原创粉丝点击