其实在github下载的MapWinGIS代码,在support文件夹下的build文件夹下的HowToBuild说明已经写的很清楚了,

* How to build MapWinGIS.ocx*
* Paul Meems
* October 19, 2014
Since MapWinGIS v4.9.1 we use the pre-build binaries
of Tamas (http://www.gisinternals.com/).
This has dramatically simplyfied the build process.
First download the bins and libs from GisInternals.
Since MapWinGIS v4.9.3 we use the GDALv2 library.
At this moment it is not yet formally released so we now use the -development files.
Browse to http://www.gisinternals.com/query.html?content=filelist&file=release-1600-gdal-mapserver.zip (this is a link not a file!)
and download
http://download.gisinternals.com/sdk/downloads/release-1600-gdal-mapserver.zip
http://download.gisinternals.com/sdk/downloads/release-1600-gdal-mapserver-libs.zip
Because Tamas does not yet provide VS2013 binaries we use his VS2010 (1600) binaries.
Unzip these files in \MapWinGIS\trunk\SupportingLibraries\GDAL_SDK\{VS-version}\bin\{platform}\
\MapWinGIS\trunk\SupportingLibraries\GDAL_SDK\{VS-version}\lib\{platform}\
and \MapWinGIS\trunk\SupportingLibraries\GDAL_SDK\{VS-version}\include

Now you can compile the ocx, using VS2010.
Don't forget to register it using \MapWinGIS\trunk\bin\Win32\regMapWinGIS.cmd and you are
ready to go.
Don't forget you also need the 32-Bit version if you want to use the ocx in Visual Studio in your forms.
Visual Studio (even VS2013) doesn't support 64-Bit ActiveX controls.

这里个人知识遇到些问题再次记录下

用vs2015打开MapWinGIS.sln,如果直接编译会报错,因为默认缺少GDAL库,此时可以去http://www.gisinternals.com/下载对应的库,网站的库包含win32和x64的,建议都下载

因为要在vs的窗体中使用ocx,同时需要注册32位的ocx,vs2015目前也不支持64位的com组件,

1、下载MapWinGIS源码,打开MapWinGIS.sln

2、下载GDAL库,分别放置到对应的位置,win32和x64分别都应该放置各自的库,要放置的位置有三个文件夹(bin, include, lib)

3、在win32和x64生成对应的ocx,此时生成成功的时候vs报要用管理员来进行注册,此时重新用管理员打开生成即可,但是如果你想再次生成时,如果没问题略过下面操作

  如果vs又会报错要用管理员生成,目前我也不知道为什么vs每生成一次都需要管理员生成,(希望多多指教),此时可以在工程属性中 ---链接器---注册输出--设置为否,此时每次有更新你得自己反注册和再次注册

4、如果注册不成功,可以用Depends工具打开看看是否有依赖的库找不到,我这边是注册不成功的,于是发现bin目录下的库有些没有拷贝过来,于是我直接将bin目录下的东西全部拷贝到生成目录中,此时再次注册就成功了

5、在winform中使用MapWinGIS,此时在工具箱中添加Com组件,此时添加的MapWinGIS.ocx的版本和你工程所用的目标平台一样,如果是x64,就添加64位的MapWinGIS.ocx到工具箱,此时如果添加失败,确保ocx都已注册,(添加64位的ocx也需要注册32位的)

以上就是MapWinGIS的编译和使用上我遇到的一些问题

编译MapWinGis的更多相关文章

  1. VS2015编译MapWinGIS

    在github上下载MapWinGIS,目前最新版本为4.9.5.0 GitHub上项目地址为:https://github.com/MapWindow/MapWinGIS 通过git客户端下载mas ...

  2. mfc通过MapWinGIS控件读取shp文件(通过#import实现)

    在MFC工程中想使用MapWinGIS组件,有多种方法可以实现, 第一种方法,#Import来实现 1.首先注册MapWinGIS ActiveX组件, 2.新建一个单文档工程:MapGis,为控件添 ...

  3. TODO:macOS编译PHP7.1

    TODO:macOS编译PHP7.1 本文主要介绍在macOS上编译PHP7.1,有兴趣的朋友可以去尝试一下. 1.下载PHP7.1源码,建议到PHP官网下载纯净到源码包php-7.1.0.tar.g ...

  4. Centos6.5下编译安装mysql 5.6

    一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm -e mysql //普通删除模式 rpm -e ...

  5. CENTOS 6.5 平台离线编译安装 PHP5.6.6

    一.下载php源码包 http://cn2.php.net/get/php-5.6.6.tar.gz/from/this/mirror 二.编译 编译之前可能会缺少一些必要的依赖包,加载一个本地yum ...

  6. CENTOS 6.5 平台离线编译安装 Mysql5.6.22

    一.下载源码包 http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.22.tar.gz 二.准备工作 卸载之前本机自带的MYSQL 安装 cmake,编 ...

  7. Android注解使用之注解编译android-apt如何切换到annotationProcessor

    前言: 自从EventBus 3.x发布之后其通过注解预编译的方式解决了之前通过反射机制所引起的性能效率问题,其中注解预编译所采用的的就是android-apt的方式,不过最近Apt工具的作者宣布了不 ...

  8. Hawk 6. 编译和扩展开发

    Hawk是开源项目,因此任何人都可以为其贡献代码.作者也非常欢迎使用者能够扩展出更有用的插件. 编译 编译需要Visual Stuido,版本建议使用2015, 2010及以上没有经过测试,但应该可以 ...

  9. android studio 使用 jni 编译 opencv 完整实例 之 图像边缘检测!从此在andrid中自由使用 图像匹配、识别、检测

    目录: 1,过程感慨: 2,运行环境: 3,准备工作: 4,编译 .so 5,遇到的关键问题及其解决方法 6,实现效果截图. (原创:转载声明出处:http://www.cnblogs.com/lin ...

随机推荐

  1. WebService应用--使用java开发WebService程序

    使用Eclipse开发第一个WebService程序,本示例采用的工具为Spring-Tool-Suite,和Eclipse没有本质的区别,开发环境jdk1.7 一.开发步骤: 1.新建名为WebSe ...

  2. 【lucene系列学习】排序

    用lucene3实现搜索多字段并排序功能(设置权重)    

  3. 纯css实现翻牌特效

    大家有没有看到过网上很炫的翻牌效果,牌正面对着我们,然后点击一下,牌就被翻过来了,效果很酷炫,是不是很想知道是怎么实现的么,代码很简单,跟着小编往下走. 先给大家介绍一下翻牌的原理: 1.父容器设置设 ...

  4. redis 编译安装(生产环境推荐)

    一.安装redis 1.下载redis包 wget http://download.redis.io/releases/redis-3.2.1.tar.gz 2.解压redis包到/opt下 tar ...

  5. Ninja 之路:试炼!求生演习——异步 I/O、http

    鸣人火影之路的第一步,就是跟着卡卡西学习基本的忍术,让自己先在忍者的世界里生存下来,so,想要在 node 的世界里游刃有余,必须要掌握异步 I/O.http等核心技能. ok,第一步先学会读懂需求 ...

  6. Apache localhost和局域网ip地址访问

    今天忍无可忍重装了公司的电脑,所以把开发工具也都重新装一下. 安装wamp,localhost和局域网ip地址无法访问. 在C:\Windows\System32\drivers\etc\hosts文 ...

  7. 学习笔记:JavaScript-进阶篇

    1.二维数组   二维数组的表示: myarray[ ][ ] var myarr=new Array();  //先声明一维 for(var i=0;i<2;i++){  //一维长度为2   ...

  8. JAVA内存模型与线程

    概述 由于计算机的运算速度和它的存储和通讯子系统的速度差距巨大,大部分时间都花在IO,网络和数据库上.为了压榨CPU的运算能力,需要并发.另外,优秀的并发程序对于提高服务器的TPS有重要的意义. 硬件 ...

  9. 高性能网站架构设计之缓存篇(1)- Redis C#客户端

    一.什么 RedisREmote DIctionary Server,简称 Redis,是一个类似于Memcached的Key-Value存储系统.相比Memcached,它支持更丰富的数据结构,包括 ...

  10. Day5模块-time和datetime模块

    模块是封装一段代码来实现某种功能. 分为三类: 1.自定义模块 2.标准库,内置模块 3.开源模块 -------------------------------------------------- ...