有朋友問如何編譯 mondb_fdw 的Windows版,本文是準備依賴包的過程。html
一、下載Windows版CMakegit
網址:https://cmake.org/download/github
下載zip包便可,咱們能夠手動在命令行設置path,不必用安裝程序。mongodb
當前版本 3.15.3,解壓到 C:\cmake-3.15.3-win64-x64。json
二、下載MongoDB C Driverui
網址:http://mongoc.org/命令行
當前版本 1.15.1,解壓至 C:\mongo-c-driver-1.15.1code
(Windows下解壓 tar 文件可以使用 7-zip)htm
三、微調代碼ip
src/libbson/src/bson/bson-macros.h
這裏的內存對齊在Windows下有點問題,粗暴地註釋掉
#ifdef BSON_EXTRA_ALIGN ...
改成
#define BSON_ALIGNED_BEGIN(_N) #define BSON_ALIGNED_END(_N)
四、生成微軟工程文件
參考:http://mongoc.org/libmongoc/current/installing.html
set path=%path%;C:\cmake-3.15.3-win64-x64\bin
源代碼裏已經有一個build,按照
不要按照文檔的寫法:
cmake -G "Visual Studio 14 2015 Win64" \ "-DCMAKE_INSTALL_PREFIX=C:\mongo-c-driver" \ "-DCMAKE_PREFIX_PATH=C:\mongo-c-driver" \ ..
多是Windows不支持反斜槓表示的多行命令,我也不熟悉。
把它們寫在一行裏,若是是 Visual Studio 2013,這裏要寫成-G "Visual Studio 12 2013 Win64"。
五、打開Visual Studio編譯環境
菜單裏打開「Visual Studio 2013」(這是我用的版本,其餘版本本身發現,應該都差很少。),選擇「VS2013 x64 Native Tools Command Prompt」。
進入目錄C:\mongo-c-driver-1.15.1\cmake-build,運行
msbuild.exe /p:Configuration=RelWithDebInfo ALL_BUILD.vcxproj
出現不少不少黃色警告信息,暫時無論,繼續安裝
msbuild.exe INSTALL.vcxproj
仍然是不少警告,但沒有報錯,查看C:\mongo-c-driver,庫文件已經生成。
六、json-c
網址:https://github.com/json-c/json-c
雖然沒有說明怎麼編譯,強大的cmake仍是讓咱們輕鬆完成。
克隆完畢,按照上邊mongodb使用相同方式編譯便可。