1

我正在尝试使用以下 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_DIRor-DCMAKE_PREFIX_PATH指令将有助于显示包含目录的位置。我究竟做错了什么?

4

2 回答 2

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
于 2017-06-06T13:27:36.693 回答
0

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

于 2017-07-02T09:32:53.347 回答