mingw 构建 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
mingw 构建 Geos的更多相关文章
- mingw64 构建 Geos
简述 在做某个小程序时候用到了QT,而用的Qt是mingw版本的,所以使用mingw构建了一下geos库. 1.准备工作 首先需要先安装好mingw,这里直接使用http://www.mingw-w6 ...
- mingw 构建 mysql-connector-c-6.1.9记录
1.准备工作 首先需要下载mysql-connector-c-6.1.9的源码,然后解压. 然后需要准备编译环境,这里我使用的是msys2(下载地址http://repo.msys2.org/dist ...
- nmake构建Geos库
1.下载源码包 下载地址 http://download.osgeo.org/geos/geos-3.6.1.tar.bz2 下载之后解压即可. 2.编译 geos源码包中自带了makefile.vc ...
- mingw 构建 gdal 2.1.2
目录 1.准备 2.生成Makefile 3.编译 4.编译遇到错误及解决办法 1.生成静态库时候ar提示参数列表太长 2.生成动态库时候g++提示参数列表太长 前两日有人在oschian上问我min ...
- Windows平台安装最新OpenCV-2.4.9,利用Eclipse、MinGW构建C++调用OpenCV开发环境
近期电脑重装系统了,第一件事重装OpenCV. 这次直接装最新版,2014-4-25日公布的OpenCV2.4.9版本号,下载链接: http://sourceforge.net/projects/o ...
- mingw 构建 mysql-connector-c-6.1.9记录(26种不同的编译错误,甚至做了一个windows系统返回错误码与System V错误码的一个对照表)
http://www.cnblogs.com/oloroso/p/6867162.html
- QT动态库和静态库使用
软件版本:QT5.12.0 + Qt Creator4.8.0 动态链接 动态链接库又叫"共享库",即sharedLib. Qt Creator中新建项目,选择"Libr ...
- Qt 静态编译发布和动态编译发布
静态编译发布 你写了一个小型Qt程序,发布的时候不想要一大堆dll文件,就只想打包成一个exe文件,那么就需要用到静态编译. 下面的教程就是Qt静态编译环境配置 Qt5.6静态编译包下载地址 1.下载 ...
- libuv 中文编程指南
最近看了一些有关 libuv 的东西,另外复习了一些与同步.异步.阻塞.非阻塞,异步IO(aio)的东西, 算是技术积累吧,等有时间了整理出一个完整的文档出来,希望在今后的编程中用到. 不多说了,本文 ...
随机推荐
- [转]Win7与虚拟机VMware下运行的Ubuntu共享文件夹
From : http://blog.csdn.net/gaojinshan/article/details/9231853 安装VMware Tools,在VMware面板上选择“虚拟机-重新安装V ...
- vmware桥接模式
vmware桥接模式 桥接网络是指本地物理网卡和虚拟网卡通过VMnet0虚拟交换机进行桥接,物理网卡和虚拟网卡在拓扑图上处于同等地位,那么物理网卡和虚拟网卡就相当于处于同一个网段,虚拟交换机就相当于一 ...
- 同步一个 fork
fork 了别人的仓库后,原作者又更新了仓库,如何将自己的代码和原仓库保持一致?本文将给你解答. 如何使用搜索引擎 其实这个问题并不难,我又被坑了.百度搜的东西不靠谱啊,以后这种问题一定要用英文在 G ...
- ubuntu 下python环境的切换使用
如何在Anaconda的python和系统自带的python之间切换 一般ubuntu下有三种python环境,1. 系统自带python2,3;在/usr/bin路径下:2. anaconda下安装 ...
- 什么是Platform Services Controller
Platform Services Controller (PSC) is a component of the VMware Cloud Infrastructure Suite. PSC deal ...
- IO流 简介 总结 API 案例 MD
目录 IO 流 简介 关闭流的正确方式 关闭流的封装方法 InputStream 转 String 的方式 转换流 InputStreamReader OutputStreamWriter 测试代码 ...
- Android利用RecognizerIntent识别语音并简单实现打电话动作
关于Android利用RecognizerIntent识别语音并简单实现打电话,详细看实现代码例如以下: package com.example.recognizerintentactivity; i ...
- nodejs发送请求
const https = require('https'); var options = { hostname: 'registry.yarnpkg.com', port: 443, path: ' ...
- 数据结构 - 2-路插入排序 具体解释 及 代码(C++)
2-路插入排序 具体解释 及 代码 本文地址: http://blog.csdn.net/caroline_wendy/article/details/24267679 2-路插入排序的思想非常有意思 ...
- .net平台性能很不错的轻型ORM类Dapper
dapper只有一个代码文件,完全开源,你可以放在项目里的任何位置,来实现数据到对象的ORM操作,体积小速度快. 使用ORM的好处是增.删.改很快,不用自己写sql,因为这都是重复技术含量低的工作,还 ...