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)是一个用于创建可扩展的轻型应用程序的库. 应用程序开发人员可利用该库发现并使用扩展,而无需进行配置. 扩 ...
随机推荐
- HDFS之HA
HDFS高可用环境HA的架构 HDFS组件由一个对外提供服务的namenode(存储元数据)和N个datanode组成:Zookeeper有三个作用:1.为了统一配置文件 config 2.多个节点的 ...
- Flask性能优化对比
基于Flask的网关:Flask,Uwsgi,Gevent,Gunicorn(gevent),Tornado,Twisted !/usr/bin/python -- coding:utf-8 -- 美 ...
- python模块之configparse模块
# -*- coding:utf-8 -*- import configparser # configparser 模块 # 1.创建一个创建对象 # 2.创建键值对的配置项目 字典的形式进行创建 # ...
- 快速学习C语言途径,让你少走弯路
1.标准C语言能干什么? 坦白讲,在今天软件已经发展了半个多世纪,单纯的C语言什么都干不了.标准C语言库只提供了一些通用的逻辑运算方法以及字符串处理,当然字符串在C语言看来也是一种操作内存的方法,所以 ...
- Sitecore 8.2 页面架构设计:模板与组件
介绍 Sitecore的开放式架构和众多API意味着在Sitecore中实施网站可能会在很多方向上发生偏差.架构的一个特别重要的方面涉及页面构建 - 如何构建Sitecore中的网页? Sitecor ...
- 2017-2018-2 20155228 《网络对抗技术》 实验一:PC平台逆向破解
2017-2018-2 20155228 <网络对抗技术> 实验一:PC平台逆向破解 实验内容 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用 ...
- 【SparkStreaming学习之三】 SparkStreaming和kafka整合
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk1.8 scala-2.10.4(依赖jdk1.8) spark ...
- calss 类
class Role(object): n = 123 # 类变量,像__init__中life_value,money默认参数用类变量,如果多个类的实例那就节省了内存,类变量只在类中存一份,实例中不 ...
- 记自己利用hexo和github搭建个人博客的过程
--------------------------------------可能我书写的方式跟别人顺序不一样,但这是我的成功经验------------------------------------ ...
- Charles 抓包工具(新猿旺学习总结)
Charles 抓包工具安装机操作 1.Charles 抓包工具是代理服务器工具,可以拦截数据,进行更改,返回数据,以实现前端后台的请求和响应数据的测试2.Charles 菜单介绍 Charles抓包 ...