编译MapWinGis

其实在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的编译和使用上我遇到的一些问题

时间: 2024-11-10 06:34:54

编译MapWinGis的相关文章

C++工程编译之“error LNK2001: 无法解析的外部符号”

今天一整天都在折腾“error LNK2001: 无法解析的外部符号”,就在头疼不已的时候,总算是找到问题原因了:各个动态链接库的编译方式必须统一才行,要不然很容易对库函数的引用产生冲突.简单来说就是,如果使用的第三方函数库编译方式采用/MD,那么主工程也应该使用/MD.我使用了libevent,而主工程默认采用/MT,所以需要忽略一大堆的函数库,我还纳闷呢,怎么会这么奇怪!!今天总算是解决了长久以来的困惑了. 下面引用一篇文章的描述:[Z]VC运行库版本不同导致链接.LIB静态库时发生重复定义

基于源码编译openssl

openssh依赖于openssl,由于ssl频繁曝出漏洞,牵扯到openssh.而自身也存在漏洞... 00.下载openssl https://www.openssl.org/source/ https://github.com/openssl/openssl/releases https://www.openssl.org/source/openssl-1.0.2l.tar.gz 01.准备工作 yum -y install perl perl-devel gcc gcc-c++ 02.编

maven依赖本地非repository中的jar包-依赖jar包放在WEB-INF/lib等目录下的情况客户端编译出错的处理

maven依赖本地非repository中的jar包 http://www.cnblogs.com/piaolingxue/archive/2011/10/12/2208871.html 博客分类: MAVEN 今天在使用maven编译打包一个web应用的时候,碰到一个问题: 项目在开发是引入了依赖jar包,放在了WEB-INF/lib目录下,并通过buildpath中将web libariary导入. 在eclipse中开发没有问题,但是使用maven编译插件开始便宜总是报找不到WEB-INF

Windows下VC编译OpenDDS

OpenDDS是一个OMG组织DDS标准的C++开源实现,OpenDDS同时也提供Java支持.OpenDDS依赖ACE抽象层来提供不同平台的兼容性,同时也依赖于TAO(例如TAO的IDL编译器).当前OpenDDS有ociweb ObjectComputing维护,官方网站http://www.opendds.org/.目前OpenDDS支持的平台有Windows,Linux family,Android,VxWorks等,可用的编译器包括VC,gcc,QNX gcc等. 1. OpenDDS

ffmpeg 3.2.4 + libx264 windows 编译总结

___________________________编译环境__________________________________ NDK 环境:android-ndk-r13b MinGW环境:Basic Setup下Mark了所有的项目,FFmpeg需要使用msys环境进行编译 ffmpeg :3.2.4 下载地址 libx264:官网最新 _____________________________________________________________________ ______

Hadoop:Windows 7 32 Bit 编译与运行

所需工具 1.Windows 7 32 Bit OS(你懂的) 2.Apache Hadoop 2.2.0-bin(hadoop-2.2.0.tar.gz) 3.Apache Hadoop 2.2.0-src(hadoop-2.2.0-src.tar.gz) 3.JDK 1.7 4.Maven 3.2.1(apache-maven-3.2.1-bin.zip) 5.Protocol Buffers 2.5.0 6.Unix command-line tool Cygwin(Setup-x86.e

Java注解(3)-注解处理器(编译期|RetentionPolicy.SOURCE)

注解的处理除了可以在运行时通过反射机制处理外,还可以在编译期进行处理.在编译期处理注解时,会处理到不再产生新的源文件为止,之后再对所有源文件进行编译. Java5中提供了apt工具来进行编译期的注解处理.apt是命令行工具,与之配套的是一套描述"程序在编译时刻的静态结构"的API:Mirror API(com.sun.mirror.*).通过Mirror API可以获取到被注解的Java类型元素的信息,从而提供自定义的处理逻辑.具体的处理工具交给apt来处理.编写注解处理器的核心是两个

Ubuntu 16.04编译Android 7.1.2

折腾了很久,终于搞定了这个环境.记录一下. 准备工作: 1. 首先在Ubuntu官网上下载Ubuntu16.04的官方镜像.官网下载地址(这个找了很久,这里可以直接下载ISO镜像):https://launchpad.net/ubuntu/+cdmirrors 2. 建议直接安装到自己硬盘上(推荐双系统),不要在虚拟机上搞,除非你有足够大的SSD.我之前在虚拟机上试过,电脑的性能完全发挥不出来,后来搞了双系统,发现一切都是那么舒服. 3. Android源码下载方法:https://lug.us

Firefly-RK3288开发板Android编译环境搭建开荒

入手了Firefly-RK3288的开发板,自己从零开始搭建编译环境开荒 第一步:安装Ubuntu12.04,使用安装盘安装(安装的过程就不详写了,下面贴图) 安装完后,更新ubuntu 第二步:从官网上下载SDK,进行编译环境的安装 下载SDK有两种方式,一是下载压缩包,二是通过git下载. 我选择了下载压缩包.SDK百度云下载地址:http://pan.baidu.com/s/1eQjBGQI?qq-pf-to=pcqq.c2c 在等待代码下载完成的同时,开始按照官方的步骤进行环境安装.为了