编译MongoDB C ++ 11驱动程序时出错

时间:2017-06-06 11:10:41

标签: c++ mongodb c++11 mongo-cxx-driver

我正在尝试使用以下CMake命令编译MongoDB C ++ 11驱动程序。

cmake -G "Visual Studio 15 2017 Win64" \
"-DCMAKE_INSTALL_PREFIX=../installation/cxx-driver" \
"-DLIBBSON_DIR=../installation/libbson" \
"-DLIBMONGOC_DIR=../installation/c-driver" \
"-DCMAKE_PREFIX_PATH=../installation" \
"-DBOOST_ROOT=E:/Softwares/Libraries/Boost/boost_1_64_0" \
../mongo-cxx-driver-r3.1.1

出现以下错误。

fatal error C1083: Cannot open include file: 'bson.h': No such file or directory

'bson.h'文件存在于以下路径

../installation/libbson/include/libbson-1.0

我的期望是-DLIBBSON_DIR-DCMAKE_PREFIX_PATH指令有助于显示包含目录的位置。我做错了什么?

2 个答案:

答案 0 :(得分:0)

删除不必要的引号:

cmake -G "Visual Studio 15 2017 Win64" \
-DCMAKE_INSTALL_PREFIX=../installation/cxx-driver \
-DLIBBSON_DIR=../installation/libbson \
-DLIBMONGOC_DIR=../installation/c-driver \
-DCMAKE_PREFIX_PATH=../installation \
-DBOOST_ROOT=E:/Softwares/Libraries/Boost/boost_1_64_0 \
../mongo-cxx-driver-r3.1.1

答案 1 :(得分:0)

是的,我花了大约两天时间来解决这个问题。谢天谢地!我已经解决了。在哪里配置mongo-c-driver?无论你在哪里配置它,比如/ usr,/ usr / local,或/ usr / local / xxx(任何名字),你都可以发现mongoc.h和其他头文件都在libmongoc-1.0文件夹下,你应该从libmongoc-1.0文件夹和include文件夹下复制所有头文件(xxxx.h),这样就可以了。祝好运!这三个配置路径我都测试它。祝你好运!