VS2015编译MapWinGIS

在github上下载MapWinGIS,目前最新版本为4.9.5.0

GitHub上项目地址为:https://github.com/MapWindow/MapWinGIS

通过git客户端下载master分支或者直接下载releases版本中的4.9.5.0

 下载好代码后,解压目录结构如下

进入src就可以看到vs工程

由于MapWinGIS依赖gdal等相关库文件,所以先下载相关依赖项,编译步骤可以查看support->build->How to build.txt,里面有详细记录

在这里我用VS2015进行编译,txt中没有相关说明,步骤有些不一样

1、http://www.gisinternals.com/release.php下载MSVC2015的gdal库

点击下载2015的win32 和 x64的版本,分别进入各自版本下载界面

下载bin文件和lib目录

下载好后应该有如下四个压缩吧(下面的四个包是之前下载好的是2-2-3版本的)

带x64的就是64位的版本,不带的就是win32的版本

在support下GDAL_SDK下找到v140文件夹,没有则创建,然后在目录下创建bin、include、lib文件夹,bin文件下创建win32和x64文件夹,lib文件夹下创建win32 和 x64文件夹,

最简单的方法是直接复制v100然后重命名为v140,里面的目录结构就都有了

然后解压上面的四个压缩包,bin目录下的bin文件全部复制到各自版本的bin文件夹下,lib目录下include目录放在include目录下,lib放在各自版本的lib下

这个时候如果直接编译MapWinGIS,会报错,因为还需要cqlib和spatialindex-mw两个库,此时打开support下的SupportLibs.sln,在vs2015下编译静态库cqlib和spatialindex-mw

此时就可以开始编译MapWinGIS了,但是可能还是会报错,

1、AngleHelper中的度数o乱码,直接修改代码即可

2、map中内联函数会报错

3、编译没有错误后,但是还是有错误,可能是由于默认ActiveX控件是注册输出的,此时修改vs启动为管理员启动就行,或者修改不注册输出

此时MapWinGIS就编译成功了

原文地址:https://www.cnblogs.com/marblemm/p/9184229.html