windows系统下用cmake编译pgrouting源码,进行二次开发生成postgresql函数插件

 

一、下载需要的相关软件及源代码

  1. pgrouting源代码,直接在github上下载:https://github.com/pgRouting/pgrouting
  2. c/c++编译器(我用的是VS2017,既然需要二次开发肯定需要编译器)
  3. Postgresql >= 9.2(作为这个数据库的插件,当然需要这个软件了)
  4. CMake >= 3.2
  5. Perl
  6. boost安装包>= 1.53
  7. CGAL 安装包>= 4.4
  8. Sphinx >= 1.2(文本处理软件,可以不用安装)

二、各软件安装顺序

默认大家都安装了c/c++编译器、Postgresql 、CMake 、Perl这些软件,如果没有安装,一般软件安装方法就可以了。下面开始安装主要的三个软件:

1.安装boost,默认路径安装。

2.安装CGAL

首先,安装CGAL 安装包,一般安装方法就行;

其次,用CMake 编译安装好的CGAL,生成.sln解决方案,如下图:在编译的过称中有几点需要注意:1.直接在安装路径下编译就行,2.编译路径选好后先编译configure一次,报错后填写相应的依赖路径,3.在GMP和MPFR名称下所需要的文件,CGAL自身是没有的,所以需要在网上自己下载需要的依赖文件,我的放在github上,可以直接下载,4.在ZLIB名称下,不填任何东西。分别点击configure、generate(选择VS2017)、open project,会自动调用VS2017打开编译好的.sln解决方案。

最后,用VS2017分别在debug和release模式下,点击生成方案

3.安装pgrouting

首先、将下载好的pgrouting源码解压放在合适的目录下

其次、打开CMake进行编译,在编译的过称中有几点需要注意:1.编译路径选好后先编译configure一次,报错后填写相应的依赖路径;2.看下图编译所需要的依赖路径。分别点击configure、generate(选择VS2017)、open project,会自动调用VS2017打开编译好的.sln解决方案。

最后,用VS2017分别在debug和release模式下,点击生成方案,编译的过称中有几点需要注意:1.先一次性全部生成,可能会出现某些头文件找不到,首先找到头文件路径,都是在postgresql安装目录下的头文件,然后需要在上图标示的地方添加这些路径;2.可能alpha_shape项目生成时显示gmp.h文件找不到,那就右键点击属性添加在\dev下的这个\CGAL-4.13\auxiliary\gmp\include路径。

至此,基本不会有问题了!

 

猜你喜欢

转载自blog.csdn.net/zsc201825/article/details/88701611