pgRouting新增扩展
环境依赖:postgresql cgal boost perl
环境变量:
boost环境变量

CGAL环境变量

postgresql环境变量

1.新建C++ 空项目

2,添加common引用,更改配置信息
包含目录
E:\PostgreSQL\10\include
E:\PostgreSQL\10\include\server
E:\PostgreSQL\10\include\server\port\win32
E:\PostgreSQL\10\include\server\port\win32_msvc
C:\local\boost_1_68_0
C:\dev\CGAL-4.13\include
F:\Code\pgrouting\include


连接器附加依赖项
$(POSTGRESQL_ROOT)\10\lib\postgres.lib
$(CGAL_DIR)\lib\Debug\CGAL-vc140-mt-gd-4.13.lib
$(CGAL_DIR)\auxiliary\gmp\lib\libgmp-10.lib
$(BOOST_LIBRARYDIR)\boost_thread-vc141-mt-gd-x64-1_68.lib
$(BOOST_LIBRARYDIR)\boost_system-vc141-mt-gd-x64-1_68.lib
$(BOOST_LIBRARYDIR)\boost_chrono-vc141-mt-gd-x64-1_68.lib
$(BOOST_LIBRARYDIR)\boost_date_time-vc141-mt-gd-x64-1_68.lib
$(BOOST_LIBRARYDIR)\boost_atomic-vc141-mt-gd-x64-1_68.lib

3.新建.c .h .cpp 文件

代码如下

很简单一个加法的例子 生成dll拷贝到postgis/10/bin/lib文件夹下
还需要准备2个文件一个.sql 文件和.control文件
.sql文件命名最好是保持和函数名一样 需要在以--1.0 结尾
例如本次我的名字为: city_extion_nettopo--1.0.sql
内容如下:
CREATE FUNCTION city_extion_nettopo(integer,integer)
returns integer
as '$libdir/CityNetTopoExtend', 'city_extion_nettopo'
language C immutable strict;
control文件 命名如下 city_extion_nettopo.control
内容 
将.sql文件和control 拷贝到E:\PostgreSQL\10\share\extension
5.在数据库中添加扩展 会有一个名为 city_extion_nettopo 的扩展
添加成功后可以执行sql语句 效果如下

pgRouting新增扩展的更多相关文章
- 新增扩展程序功能打包提交新版 WARNING ITMS-90473 警告问题
1.问题描述 自从在主应用中加入SiriShortCut功能之后,打包程序上传至 iTunes Connect 就会出现警告,看其原因描述是CFBundleVersion主应用与子应用的不一致导致的 ...
- iOS开发系列--App扩展开发
概述 从iOS 8 开始Apple引入了扩展(Extension)用于增强系统应用服务和应用之间的交互.它的出现让自定义键盘.系统分享集成等这些依靠系统服务的开发变成了可能.WWDC 2016上众多更 ...
- C#扩展方法知多少
前言:上篇 序列化效率比拼——谁是最后的赢家Newtonsoft.Json 介绍了下序列化方面的知识.看过Demo的朋友可能注意到了里面就用到过泛型的扩展方法,本篇打算总结下C#扩展方法的用法.博主打 ...
- C#中扩展方法
什么是扩展方法? 扩展方法顾名思义,就是允许向现有的“类型”添加方法,而无需创建派生类.重新编译或以其他方式修改原来类型. 扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用. 扩 ...
- 资金平台交易明细扩展开发-DEP
前言 支持农垦项目中,需要增加抓取银行接口传输数据,需求有两点:一是银企平台前置机需要增加扩展中行.农行数据字段.(代理账号.代理账户名称.代理银行) 二是EAS资金模块中的交易明细查询列表界面能够显 ...
- .NET手记-定义类和接口的扩展方法
对于iOS开发者来说,使用扩展方法是家常便饭.因为有很多的类是有系统框架的定义的,我们不能修改或者不想修改他们的源码,但是我们又想要给他添加一些扩展方法来使用.这时定义扩展方法就是很有用的方式了,正如 ...
- Windows 10 开发人员预览版中的新增功能(转自 IT之家)
Windows 10 开发人员预览版中的新增功能 在Win10预览版中安装工具与SDK后,即可着手创建Windows通用应用或先浏览目前的环境与此前相比都发生了什么变化. 应用建模 文件资源管理器: ...
- 【03】Chrome提示印象笔记剪藏插件"已停用不支持的扩展程序"怎么办?
[03] Chrome提示印象笔记剪藏插件"已停用不支持的扩展程序"怎么办? 刚好也遇上了这个问题,百度了一下,以下是解决方法,亲测可行: 1.首先把需要安装的第三方插件,后缀.c ...
- MEF学习
一. 什么是MEF MEF(Managed Extensibility Framework)是一个用于创建可扩展的轻型应用程序的库. 应用程序开发人员可利用该库发现并使用扩展,而无需进行配置. 扩 ...
随机推荐
- FB面经 Prepare: Even Tree
You are given a tree (a simple connected graph with no cycles). The tree has nodes numbered from to ...
- IDEA搭建scala开发环境开发spark应用程序
通过IDEA搭建scala开发环境开发spark应用程序 一.idea社区版安装scala插件 因为idea默认不支持scala开发环境,所以当需要使用idea搭建scala开发环境时,首先需要安 ...
- Object:所有类的超类
Java中每个类都是由Object类扩展而来 1.equals方法 在Object类中,这个方法用于判断两个对象是否具有相同的引用,然而对于大多数类来说,经常需要检测两个对象状态的相等性. publi ...
- idea (2018.09) 安装破解mybatis plugin
本来打算安装的是mybatis plugin最新版本(4.0.4) 但是安装下来发现lib目录中少mybatis_plugin.jar包 只有手动安装了这里安装的是2.9.2版本使用了一下不受影响 破 ...
- Fiddler抓包【2】_捕获设置
1.Fiddler抓web网站请求 手动设置方法一:Tools--->WinINET Options--->连接--->局域网设置--->代理服务器勾选后“高级”---> ...
- Objective-C RunTime 学习笔记 之 atomic/nonatomic 关键字
atomic修饰的是变量/方法,对于可变对象的指针变量是安全的,内部实现加了锁,但是对可变对象本身没什么影响,不安全还是不安全.另外atomic仅仅对编译器生产的getter.setter有效,如果自 ...
- Hashtable几种常用的遍历方法
Hashtable 在System.Collection是命名空间李Hashtable是程序员经常用到的类,它以快速检索著称,是研发人员开发当中不可缺少的利器. Hashtable表示键/值对的集合, ...
- zw-clay字王胶泥体系列
zw-clay字王胶泥体系列 zw-clay字王胶泥体系列,2018新版,也是在2012版本的基础上升级的. 字王胶泥体系列的idea,源自黏土动画电影的制作模式.同样,字王胶泥体系列,也非常适合于动 ...
- Javascript学习-简单测试环境
Javascript学习-简单测试环境 在<JavaScript忍者秘籍>2.4测试条件基础知识中,作者给出了一个精简版的assert和assert组的实现,对于初学者而言,这无疑是一个很 ...
- Centos7 pcs pacemaker高可用安装配置详解