mingw64 构建 Geos
简述
在做某个小程序时候用到了QT,而用的Qt是mingw版本的,所以使用mingw构建了一下geos库。
1、准备工作
首先需要先安装好mingw,这里直接使用http://www.mingw-w64.org里面下载的安装器。
下载之后进行安装,根据你的需求,可以选择64位版本或者32位版本。

如果是安装的mingw32版本的Qt,使用其自带的mingw编译套件也是可以的。
安装了之后还需要安装cmake这里就不介绍了。
安装之后进入mingw的安装目录下的bin目录,将其中的mingw32-make.exe拷贝一份,并改名为make.exe。
然后就是下载geos的源码了,直接点击下载http://download.osgeo.org/geos/geos-3.6.1.tar.bz2
下载之后解压。
2、生成Makefile
双击打开mingw安装目录下的mingw-w64.bat,然后进入geos源码目录,新建并进入目录build_mingw。
执行下面语句生成Makefile文件
cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=Z:/geos_mingw ..
上面使用了-DCMAKE_BUILD_TYPE=Release指定构建Release版本,如果不指定,则构建debug版本。
实际上我是在安装的Git自带的MINGW64命令行工具(Git Bash实际上是msys,你也可以自己下载msys安装)下使用的,使用前先使用下面命令将
mingw安装路径添加到PATH环境变量中。
export PATH=$PATH:/C/Program\ Files/mingw-w64/x86_64-5.4.0-win32-seh-rt_v5-rev0/mingw64/bin/
生成Makefile的命令是(只是路径风格不一样)
cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/Z/geos_mingw ..
其余步骤是一致的。
生成Makefile后还需要做点工作,就是将build_mingw\include\geos\目录下的platform.h和version.h文件拷贝到源码目录下的include\geos目录。
注意,上面应该是正常的做法,但是会有错误,就是error: 'isnan' was not declared in this scope
对于这个错误,只需要将源码目录下的include\geos中platform.h.in重命名为platform.h即可(不使用cmake生成的)。
3、编译
生成Makefile之后,使用下面命令进行编译
# 编译
mingw32-make -f Makefile
# 安装
mingw32-make -f Makefile install
我编译的64位版本下载地址在这里https://www.justbeamit.com/zup5i
http://www.cnblogs.com/oloroso/p/6762624.html
mingw64 构建 Geos的更多相关文章
- mingw 构建 Geos
简述 在做某个小程序时候用到了QT,而用的Qt是mingw版本的,所以使用mingw构建了一下geos库. 1.准备工作 首先需要先安装好mingw,这里直接使用http://www.mingw-w6 ...
- nmake构建Geos库
1.下载源码包 下载地址 http://download.osgeo.org/geos/geos-3.6.1.tar.bz2 下载之后解压即可. 2.编译 geos源码包中自带了makefile.vc ...
- GEOS库的学习之二:简单几何图形的创建
几何图形(Geometry)是geos里面基本的操作对象,因此Geometry类就是最重要的一个类 几何图形中主要有三个要素:点,线,面.横纵坐标构成点,多个点构成线,环线构成面,点线面混合构成几何集 ...
- GEOS库在windows中的编译和测试(vs2012)
版本:vs2012, geos3.5 一.下载和编译 这类的文章比较,不再具体细说,可以参考 http://blog.csdn.net/wangqinghao/article/details/8201 ...
- Windows7 64下MinGW64/MSYS环境搭建
原文出处: CompileGraphics Magick, Boost, Botan and QT with MinGW64 under Windows 7 64 http://www.kinetic ...
- MinGW64 how-to(内含编译openssl,libjpeg,libcurl等例子)
Index of contents Setting up the MinGW 64 environment Step 1) building libiconv Step 2) building lib ...
- Geos判断点是否在多边形内
使用的geo版本是3.5.1 #include <iostream> #include "geos.h" using namespace std; GeometryFa ...
- [原创]在Windows平台使用msys2、mingw64和vscode编写和调试C/C++代码
相关名词就不解释了,这里主要讲讲在vscode里怎么配,这里假设大家相关工具已经装好. 题外话:里面的大多数坑都是windows平台和linux平台的差异造成的,如果在linux平台配置,应该会顺利很 ...
- 使用msys2在window下构建和使用Linux的软件
目录 前言 安装 使用 总结 前言 在window下构建Linux编译环境是很常见的,以前用过mingw弄过差不多的环境. 但是使用msys2后就根本停不下来咯,太好用咯. 安装 去官网下载吧,安装跟 ...
随机推荐
- QT学习记录之控件布局
作者:朱金灿 来源:http://blog.csdn.net/clever101 想到控件布局就会想到Windows编程中要实现对话框上的控件的合理布局是一件多么艰难的事情.对此QT提出了一个很方便的 ...
- Angularjs Nodejs Grunt 一个样例
做了一个简单的演示样例,目的是记录环境配置以及这套框架的结构流程. 1.配置环境 默认nodejs已安装. 安装下面模块:express(nodejs框架),grunt(javascript task ...
- 利用huson的日志获取编译错误信息的做法
作者:朱金灿 来源:http://blog.csdn.net/clever101 使用hudson编译一百多个VC工程,输出的日志有6M之大,摆在我面前的一个问题是如何利用这个日志信息来获取编译错误信 ...
- Birt
http://www.eclipse.org/birt/ 咖啡图 http://www.kafeitu.me/activiti/2012/05/26/kft-activiti-demo.html
- html+css+js实现狼吃羊小游戏
html+css+js实现狼吃羊小游戏 一.总结 一句话总结:给动的元素下标记,这里表现为将要活动的标签动态增加class,这是一种很好的思想. 1.如何实现棋子走动的时候简单精确定位? 用重构坐标系 ...
- Elasticsearch v5.4
在Windows上安装Elasticsearch v5.4.2 前言 最近项目里为了加快后台系统的搜索速度,决定接入开源的搜索引擎,于是大家都在对比较常用的几个开源做技术调研,比如Lucene+盘 ...
- dom4j解析xml获取所有的子节点并放入map中
dom4j递归解析所有子节点 //解析返回的xml字符串,生成document对象 Document document = DocumentHelper.parseText(resultXml); / ...
- Shell Step by Step (3) —— Stdin & if
4.输入输出 #! /bin/bash # Read users input and then get his name read -p "Please input your first n ...
- mongdb aggregate 聚合数据
最近用到的一些mongodb的数据查询方法 及api用法 Aggregate() 数据聚合处理的方法 可以将聚合的一些方法放在其后面的括号中,也可继续以agg.的样式链式加入 aggregate.al ...
- Array.prototype.forEach()&&Array.prototype.map()
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach https ...