其实在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. 简单的jquery左侧导航栏和页面选中效果

    这里是要实现导航的左侧并选中的,此功能需引用jquery 效果: 左侧导航 <div class="box"> <ul class="menu" ...

  2. 用PetaPoco为ASP.NET已有数据库建模

    序:最近一直在抓紧重构公司的网站,没有很多时间去写博客,积累了很多的问题,几乎是一天一个,折腾死了,尤其是在模型方面几经周折. 以前,多半从事PHP开发,很少接触到模型(thinkphp中模型),但是 ...

  3. 学习java的感受

    学习java有一段时间了,发现现在只是才了解java,还在门槛外边. 有时候真感觉这是不是一种外星语言,各种方法各种类各种借口,总是傻傻分不清.  学过的知识过一个星期就开始模糊,有时半夜睡不着的时候 ...

  4. Docker - 容器互联

    容器互联 通过docker run命令的--link参数可以让容器之间通过连接(linking)系统进行交互. 参数格式:--link name:alias ,name是要链接的容器名称, alias ...

  5. MySQL使用pt-online-change-schema工具在线修改1.6亿级数据表结构

    摘  要:本文阐述了MySQL DDL 的问题现状.pt-online-schema-change的工作原理,并实际利用pt-online-schema-change工具在线修改生产环境下1.6亿级数 ...

  6. JAVA自增自减的玄机

    先看下面代码: ; i = i++; System.out.println(i); 请问:输出结果为多少? ---------------------------------------------- ...

  7. 如何设置SecureCRT快捷键

    第一步,打开Tools -> Keymap Editor: 2.用鼠标点击要设置的快捷键,这里以F3为例,然后选择Map Select Key 3.弹出的对话框中,Function一栏选择Run ...

  8. ASP.NET Gridview数据库绑定支持增删改,记得要完整实现

    1.错误情况 /WebSite3"应用程序中的服务器错误. 指定的参数已超出有效值的范围. 参数名: index 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息, ...

  9. VFP 实验参考答案

    1.    使用for循环计算1到1000之间能既能被7整除也能被11整除的所有的数的和.(结果为6006)源程序代码 sum=0 i=1 for i=1 to 1000 if((i%7=0) and ...

  10. Hibernate乐观锁、悲观锁和多态

     乐观锁和悲观锁 悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁 ...