2017-06-06 89 views
1

我試圖用下面的CMake命令編譯MongoDB C++ 11驅動程序。編譯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指令將有助於表示在包括目錄。我究竟做錯了什麼?

+0

如果您爲每個變量指定絕對路徑,它會工作嗎? – Saghm

+0

你解決了你的問題嗎?我遇到了問題。 – Sucy

+0

@Sucy,根本沒有。迄今爲止,我所有的嘗試都是徒勞的。任何想法? – Amani

回答

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 
+0

我沒有刪除引號,仍然收到相同的錯誤信息。 – Amani

0

是啊,我有大約要花兩天的時間解決這個問題。謝天謝地!我解決了它。你在哪裏配置你的mongo-c-driver?無論你在哪裏配置它,如/ usr,/ usr/local或/ usr/local/xxx(任何名稱),你都可以發現mongoc.h和其他頭文件都在libmongoc-1.0文件夾下,你應該將所有頭文件(xxxx.h)複製到libmongoc-1.0文件夾和include文件夾下,這樣就可以了。祝你好運!這三條配置路徑都是我測試的。祝你好運!