为Windows版PostgreSQL编译mongo_fdw准备篇

原创
2019/09/20 14:45
阅读数 276

有朋友问如何编译 mondb_fdw 的Windows版,本文是准备依赖包的过程。

 

1、下载Windows版CMake

网址:https://cmake.org/download/

下载zip包即可,我们可以手动在命令行设置path,没必要用安装程序。

当前版本 3.15.3,解压到 C:\cmake-3.15.3-win64-x64。

 

2、下载MongoDB C Driver

网址:http://mongoc.org/

当前版本 1.15.1,解压至 C:\mongo-c-driver-1.15.1

(Windows下解压 tar 文件可使用 7-zip

 

3、微调代码

src/libbson/src/bson/bson-macros.h

这里的内存对齐在Windows下有点问题,粗暴地注释掉

#ifdef BSON_EXTRA_ALIGN
...

改为

#define BSON_ALIGNED_BEGIN(_N)
#define BSON_ALIGNED_END(_N)

 

4、生成微软工程文件

参考: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"。

 

5、打开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,库文件已经生成。

 

6、json-c

网址:https://github.com/json-c/json-c

虽然没有说明怎么编译,强大的cmake还是让我们轻松完成。

克隆完毕,按照上边mongodb使用相同方式编译即可。

 

展开阅读全文
打赏
1
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
1
分享
返回顶部
顶部