文本以VS2019为例:
1、源码下载
方法一:svn或git下载https://github.com/MapWindow/MapWinGIS.git
方法二:下载源码压缩包https://github.com/MapWindow/MapWinGIS/releases或者https://github.com/MapWindow/MapWinGIS/archive/develop.zip
2、准备第三方开源库
GDAL_SDK、curllib、geos、tiff。下载地址:https://download.csdn.net/download/u012156872/14928082
3、编译
修改属性包含目录:
$(ProjectDir)..\Support\include;$(ProjectDir)..\Support\include\atlhttp;$(ProjectDir)..\support\include\ShapeLib;$(ProjectDir)..\support\GDAL_SDK\gdal-2.4.1\gcore;$(ProjectDir)..\support\GDAL_SDK\gdal-2.4.1\port;$(ProjectDir)..\support\GDAL_SDK\gdal-2.4.1\ogr;$(ProjectDir)..\support\GDAL_SDK\gdal-2.4.1\ogr\ogrsf_frmts;$(ProjectDir)..\support\GDAL_SDK\gdal-2.4.1\frmts\gtiff\libgeotiff;$(ProjectDir)..\support\GDAL_SDK\gdal-2.4.1\frmts\vrt;$(ProjectDir)..\support\GDAL_SDK\gdal-2.4.1\frmts\gtiff\libtiff;$(ProjectDir)..\support\GDAL_SDK\gdal-2.4.1\apps;$(ProjectDir)..\support\GDAL_SDK\gdal-2.4.1\alg;$(ProjectDir)..\Support\curllib\include\curl;$(ProjectDir)..\support\geos\include;$(ProjectDir)..\support\geos\include\capi;$(ProjectDir);$(ProjectDir)\COM classes;$(ProjectDir)\ComHelpers;$(ProjectDir)\Control;$(ProjectDir)\Drawing;$(ProjectDir)\Grid;$(ProjectDir)\Image;$(ProjectDir)\Processing;$(ProjectDir)\Shapefile;$(ProjectDir)\ShapeNetwork;$(ProjectDir)\Structures;$(ProjectDir)\Tin;$(ProjectDir)\Utilities;$(ProjectDir)\Grid\fip;$(ProjectDir)\Utilities\SpatialIndex;$(ProjectDir)\Tiles;$(ProjectDir)\Tiles\Providers;$(ProjectDir)\Tiles\Caching;$(ProjectDir)\Tiles\Loaders;$(ProjectDir)\Tiles\Projections;$(ProjectDir)\Tiles\Http;$(ProjectDir)\Utilities\SQLite;$(ProjectDir)..\Support\GDAL_SDK\$(PlatformToolset)\include\$(Platform);$(ProjectDir)..\Support\GDAL_SDK\$(PlatformToolset)\include\$(Platform)\curl;$(ProjectDir)\Ogr;$(ProjectDir)\Editor;%(AdditionalIncludeDirectories)
如图:
修改属性附加依赖项:
cqlib.lib;GdiPlus.lib;gdal_i.lib;version.lib;Crypt32.lib;Dbghelp.lib;SpatialIndex-mw.lib;geos_c.lib;libtiff_i.lib;ShapeLib.lib;libcurl.lib;%(AdditionalDependencies)
如图:
修改属性附加库目录:
$(ProjectDir)..\Support\GDAL_SDK\gdal-2.4.1;$(ProjectDir)..\Support\lib\$(PlatformToolset)\$(Platform)\Release;$(ProjectDir)..\Support\geos\lib\release;$(ProjectDir)..\Support\tiff-3.8.2\libtiff;$(ProjectDir)..\Support\curllib\lib\x86;%(AdditionalLibraryDirectories)
如图:
4、编译
按照上面的步骤操作完毕,程序肯定就能顺利编译通过!
5、添加瓦片图层
修改文件“src\MapWinGIS.idl”
enum tkTileProvider
{
...
}
修改文件“src\COM classes\TileProviders.cpp”
BaseProvider* CTileProviders::getProviderCore(tkTileProvider provider)
{
// 在函数里面添加瓦片类图层
}
修改文件“src\COM classes\TileProviders.h”
#define TILE_PROVIDER_COUNT 23 // 将23改为