使用nmake编译Gdal源代码(Win10, VS2022)
为了编译Gdal-master的源码,需要PROJ的支持,而PROJ又需要SQLite的支持。
SQLite、PROJ、Gdal-master的源码及编译可参见网页:
Gdal-master、PROJ 8.2.1源码下载及编译(Win10+VS2022)_Alexabc3000的专栏-CSDN博客
也可使用nmake在命令行创建(参考网页 BuildingOnWindows – GDAL )
使用命令行,进入VS2022开发者命令行窗口
cd D:\Programs\Microsoft Visual Studio\2022\Community\VC\Auxiliary\BuildD:vcvars64.batcd D:\SourceCodes\gdal-masterset BINDIR=d:\programs\gdal\gdal-binset DATADIR=d:\programs\gdal\gdal-dataset INCDIR=d:\programs\gdal\gdal-includeset LIBDIR=d:\programs\gdal\gdal-lib
修改文件“nmake.opt”的内容:
(1)将
#PROJ_INCLUDE = -Id:\install-proj\local\include
改为
PROJ_INCLUDE = -ID:\My3rdParty\include
(2)将
#PROJ_LIBRARY = d:\install-proj\local\lib\proj_6_0.lib shell32.lib ole32.lib
改为
PROJ_LIBRARY = D:\My3rdParty\lib\proj.lib shell32.lib ole32.lib
依次使用下列命令, 创建x64的Release版本
nmake -f makefile.vc MSVC_VER=1930 WIN64=1
nmake /f makefile.vc install MSVC_VER=1930 WIN64=yes
nmake /f makefile.vc devinstall MSVC_VER=1930 WIN64=yes
执行完毕后,目录“d:\programs\gdal”中的内容如下(使用命令 “tree /f d:\programs\gdal” 列出)
D:\PROGRAMS\GDAL
├─gdal-bin
│ │ gdal303.dll
│ │ gdaladdo.exe
│ │ gdalbuildvrt.exe
│ │ gdaldem.exe
│ │ gdalenhance.exe
│ │ gdalinfo.exe
│ │ gdallocationinfo.exe
│ │ gdalmanage.exe
│ │ gdalmdiminfo.exe
│ │ gdalmdimtranslate.exe
│ │ gdalsrsinfo.exe
│ │ gdaltindex.exe
│ │ gdaltransform.exe
│ │ gdalwarp.exe
│ │ gdal_contour.exe
│ │ gdal_create.exe
│ │ gdal_grid.exe
│ │ gdal_rasterize.exe
│ │ gdal_translate.exe
│ │ gdal_viewshed.exe
│ │ gnmanalyse.exe
│ │ gnmmanage.exe
│ │ nearblack.exe
│ │ ogr2ogr.exe
│ │ ogrinfo.exe
│ │ ogrlineref.exe
│ │ ogrtindex.exe
│ │
│ └─gdalplugins
│ drivers.ini
│
├─gdal-data
│ bag_template.xml
│ cubewerx_extra.wkt
│ default.rsc
│ ecw_cs.wkt
│ eedaconf.json
│ epsg.wkt
│ esri_StatePlane_extra.wkt
│ gdalicon.png
│ GDALLogoBW.svg
│ GDALLogoColor.svg
│ GDALLogoGS.svg
│ gdalmdiminfo_output.schema.json
│ gdalvrt.xsd
│ gmlasconf.xml
│ gmlasconf.xsd
│ gml_registry.xml
│ grib2_center.csv
│ grib2_process.csv
│ grib2_subcenter.csv
│ grib2_table_4_2_0_0.csv
│ grib2_table_4_2_0_1.csv
│ grib2_table_4_2_0_13.csv
│ grib2_table_4_2_0_14.csv
│ grib2_table_4_2_0_15.csv
│ grib2_table_4_2_0_16.csv
│ grib2_table_4_2_0_17.csv
│ grib2_table_4_2_0_18.csv
│ grib2_table_4_2_0_19.csv
│ grib2_table_4_2_0_190.csv
│ grib2_table_4_2_0_191.csv
│ grib2_table_4_2_0_2.csv
│ grib2_table_4_2_0_20.csv
│ grib2_table_4_2_0_3.csv
│ grib2_table_4_2_0_4.csv
│ grib2_table_4_2_0_5.csv
│ grib2_table_4_2_0_6.csv
│ grib2_table_4_2_0_7.csv
│ grib2_table_4_2_10_0.csv
│ grib2_table_4_2_10_1.csv
│ grib2_table_4_2_10_191.csv
│ grib2_table_4_2_10_2.csv
│ grib2_table_4_2_10_3.csv
│ grib2_table_4_2_10_4.csv
│ grib2_table_4_2_1_0.csv
│ grib2_table_4_2_1_1.csv
│ grib2_table_4_2_1_2.csv
│ grib2_table_4_2_20_0.csv
│ grib2_table_4_2_20_1.csv
│ grib2_table_4_2_20_2.csv
│ grib2_table_4_2_2_0.csv
│ grib2_table_4_2_2_3.csv
│ grib2_table_4_2_2_4.csv
│ grib2_table_4_2_2_5.csv
│ grib2_table_4_2_3_0.csv
│ grib2_table_4_2_3_1.csv
│ grib2_table_4_2_3_2.csv
│ grib2_table_4_2_3_3.csv
│ grib2_table_4_2_3_4.csv
│ grib2_table_4_2_3_5.csv
│ grib2_table_4_2_3_6.csv
│ grib2_table_4_2_4_0.csv
│ grib2_table_4_2_4_1.csv
│ grib2_table_4_2_4_10.csv
│ grib2_table_4_2_4_2.csv
│ grib2_table_4_2_4_3.csv
│ grib2_table_4_2_4_4.csv
│ grib2_table_4_2_4_5.csv
│ grib2_table_4_2_4_6.csv
│ grib2_table_4_2_4_7.csv
│ grib2_table_4_2_4_8.csv
│ grib2_table_4_2_4_9.csv
│ grib2_table_4_2_local_Canada.csv
│ grib2_table_4_2_local_HPC.csv
│ grib2_table_4_2_local_index.csv
│ grib2_table_4_2_local_MRMS.csv
│ grib2_table_4_2_local_NCEP.csv
│ grib2_table_4_2_local_NDFD.csv
│ grib2_table_4_5.csv
│ grib2_table_versions.csv
│ gt_datum.csv
│ gt_ellips.csv
│ header.dxf
│ inspire_cp_BasicPropertyUnit.gfs
│ inspire_cp_CadastralBoundary.gfs
│ inspire_cp_CadastralParcel.gfs
│ inspire_cp_CadastralZoning.gfs
│ jpfgdgml_AdmArea.gfs
│ jpfgdgml_AdmBdry.gfs
│ jpfgdgml_AdmPt.gfs
│ jpfgdgml_BldA.gfs
│ jpfgdgml_BldL.gfs
│ jpfgdgml_Cntr.gfs
│ jpfgdgml_CommBdry.gfs
│ jpfgdgml_CommPt.gfs
│ jpfgdgml_Cstline.gfs
│ jpfgdgml_ElevPt.gfs
│ jpfgdgml_GCP.gfs
│ jpfgdgml_LeveeEdge.gfs
│ jpfgdgml_RailCL.gfs
│ jpfgdgml_RdArea.gfs
│ jpfgdgml_RdASL.gfs
│ jpfgdgml_RdCompt.gfs
│ jpfgdgml_RdEdg.gfs
│ jpfgdgml_RdMgtBdry.gfs
│ jpfgdgml_RdSgmtA.gfs
│ jpfgdgml_RvrMgtBdry.gfs
│ jpfgdgml_SBAPt.gfs
│ jpfgdgml_SBArea.gfs
│ jpfgdgml_SBBdry.gfs
│ jpfgdgml_WA.gfs
│ jpfgdgml_WL.gfs
│ jpfgdgml_WStrA.gfs
│ jpfgdgml_WStrL.gfs
│ LICENSE.TXT
│ netcdf_config.xsd
│ nitf_spec.xml
│ nitf_spec.xsd
│ ogrvrt.xsd
│ osmconf.ini
│ ozi_datum.csv
│ ozi_ellips.csv
│ pci_datum.txt
│ pci_ellips.txt
│ pdfcomposition.xsd
│ pds4_template.xml
│ plscenesconf.json
│ ruian_vf_ob_v1.gfs
│ ruian_vf_st_uvoh_v1.gfs
│ ruian_vf_st_v1.gfs
│ ruian_vf_v1.gfs
│ s57agencies.csv
│ s57attributes.csv
│ s57expectedinput.csv
│ s57objectclasses.csv
│ seed_2d.dgn
│ seed_3d.dgn
│ stateplane.csv
│ template_tiles.mapml
│ tms_LINZAntarticaMapTileGrid.json
│ tms_MapML_APSTILE.json
│ tms_MapML_CBMTILE.json
│ tms_NZTM2000.json
│ trailer.dxf
│ vdv452.xml
│ vdv452.xsd
│ vicar.json
│
├─gdal-include
│ armadillo_headers.h
│ cplkeywordparser.h
│ cpl_alibaba_oss.h
│ cpl_atomic_ops.h
│ cpl_auto_close.h
│ cpl_aws.h
│ cpl_azure.h
│ cpl_compressor.h
│ cpl_config.h
│ cpl_config_extras.h
│ cpl_conv.h
│ cpl_cpu_features.h
│ cpl_csv.h
│ cpl_curl_priv.h
│ cpl_error.h
│ cpl_error_internal.h
│ cpl_float.h
│ cpl_google_cloud.h
│ cpl_hash_set.h
│ cpl_http.h
│ cpl_json.h
│ cpl_json_header.h
│ cpl_json_streaming_parser.h
│ cpl_json_streaming_writer.h
│ cpl_list.h
│ cpl_md5.h
│ cpl_mem_cache.h
│ cpl_minixml.h
│ cpl_minizip_ioapi.h
│ cpl_minizip_unzip.h
│ cpl_minizip_zip.h
│ cpl_multiproc.h
│ cpl_odbc.h
│ cpl_port.h
│ cpl_progress.h
│ cpl_quad_tree.h
│ cpl_sha1.h
│ cpl_sha256.h
│ cpl_spawn.h
│ cpl_string.h
│ cpl_swift.h
│ cpl_time.h
│ cpl_userfaultfd.h
│ cpl_vax.h
│ cpl_virtualmem.h
│ cpl_vsi.h
│ cpl_vsil_curl_class.h
│ cpl_vsil_curl_priv.h
│ cpl_vsil_plugin.h
│ cpl_vsi_error.h
│ cpl_vsi_virtual.h
│ cpl_worker_thread_pool.h
│ cpl_zlib_header.h
│ gdal.h
│ gdalexif.h
│ gdalgeorefpamdataset.h
│ gdalgrid.h
│ gdalgrid_priv.h
│ gdaljp2abstractdataset.h
│ gdaljp2metadata.h
│ gdaljp2metadatagenerator.h
│ gdallinearsystem.h
│ gdalpansharpen.h
│ gdalpython.h
│ gdalsse_priv.h
│ gdalwarper.h
│ gdalwarpkernel_opencl.h
│ gdal_alg.h
│ gdal_alg_priv.h
│ gdal_csv.h
│ gdal_frmts.h
│ gdal_mdreader.h
│ gdal_pam.h
│ gdal_priv.h
│ gdal_proxy.h
│ gdal_rat.h
│ gdal_simplesurf.h
│ gdal_thread_pool.h
│ gdal_utils.h
│ gdal_version.h
│ gdal_vrt.h
│ gnm.h
│ gnmgraph.h
│ gnm_api.h
│ gvgcpfit.h
│ internal_qhull_headers.h
│ memdataset.h
│ nasakeywordhandler.h
│ ograpispy.h
│ ogrgeomediageometry.h
│ ogrpgeogeometry.h
│ ogrsf_frmts.h
│ ogr_api.h
│ ogr_attrind.h
│ ogr_core.h
│ ogr_expat.h
│ ogr_feature.h
│ ogr_featurestyle.h
│ ogr_geocoding.h
│ ogr_geometry.h
│ ogr_geos.h
│ ogr_geo_utils.h
│ ogr_libs.h
│ ogr_p.h
│ ogr_proj_p.h
│ ogr_sfcgal.h
│ ogr_spatialref.h
│ ogr_srs_api.h
│ ogr_srs_esri_names.h
│ ogr_swq.h
│ ogr_xerces.h
│ ogr_xerces_headers.h
│ rawdataset.h
│ thinplatespline.h
│ vrtdataset.h
│
└─gdal-lib
gdal_i.lib
使用nmake编译Gdal源代码(Win10, VS2022)相关推荐
- 编译GDAL在win10适用VS2015(64位)
这里写自定义目录标题 老师作业要用到GDAL,折腾了好几天,才算是编译完成了,把经验分享一下. 编译环境要求 老师作业要用到GDAL,折腾了好几天,才算是编译完成了,把经验分享一下. 编译环境要求 我 ...
- 自定义编译gdal库
作者:朱金灿 来源:http://blog.csdn.net/clever101 使用下载下来的gdal库的makefile来编译gdal库,生成的gdal库的名字debug版本和release版本都 ...
- 学了C语言,如何利用CURL写一个下载程序?—用nmake编译CURL并安装
在这一系列的前一篇文章学了C语言,如何为下载狂人写一个磁盘剩余容量监控程序?中,我们为下载狂人写了一个程序来监视磁盘的剩余容量,防止下载的东西撑爆了硬盘.可是,这两天,他又抱怨他的下载程序不好用,让我 ...
- Linux下编译GDAL
一.准备工作 从官网下载GDAL.PROJ.4和GEOS,将其存放在/home/liml/Work/3rdPart目录并解压,如下图所示.下载地址请自行Google.注:使用的系统是CentOS6.4 ...
- 编译GDAL支持OpenCL使用GPU加速
##前言 GDAL库中提供的gdalwarp支持各种高性能的图像重采样算法,图像重采样算法广泛应用于图像校正,重投影,裁切,镶嵌等算法中,而且对于这些算法来说,计算坐标变换的运算量是相当少的,绝大部分 ...
- 编译GDAL支持ArcObjects
编译GDAL支持ArcObjects. 首先修改nmake.opt文件中对应的ArcObjects,修改后的如下所示: #uncomment to use ArcObjects ARCOBJECTS_ ...
- 编译GDAL使用最新的HDF库配置文件
HDF库最新版本中的动态库以及目录结构都发生了变化,导致按照之前的博客进行编译GDAL时,会出问题.使用HDF4版本为HDF4-4.2.10,HDF5的版本为HDF5-1.8.12.两个库的目录结构如 ...
- Win10+Vs2022+opengl4.6+glad+glwf3 开发环境搭建
1. 安装vs2022 https://visualstudio.microsoft.com 只需要选择 Desktop development with C++ 组件,其它组件都不用选.C++组件中 ...
- PHP7 windows增加自定义扩展和编译PHP源代码
PHP7 windows增加自定义扩展和编译PHP源代码 需要用到的材料 ①确定需要编译的版本,查看PHPINFO,确定PHP版本,VC版本和PHP位数.根据PHP VC版本下载对应的Visual S ...
- 在Ubuntu18.04安装GMT-6.1.1(在 Linux 下编译 GMT 源代码)
参考:GMT中文社区 写本文的目的:参考了CSDN上面许多安装GMT方法但是安装过程出现了各种问题,可能因为下载了官网的最新版本,而CSDN都是老版的安装方法有些地方不适用,走了好多弯路.后来才发现G ...
最新文章
- Google 出品的 Java 编码规范,值得借鉴!
- centos升级python_CentOS 升级Python3
- 线程同步之关键代码段
- CodeIgniter中URL含有中文字符串的解决方案
- django-静态文件设置
- 解决tomcat的undeploy
- w我的页面显示服务器错误,vue项目,在本地打开一个页面正常,部署到服务器就会出现 404Not Found 求解?...
- 读取 配置文件_自动化测试中,如何读取配置文件内容?
- ThreadLocal总结(jdk1.8源码)
- 《SAP从入门到精通》——第1章 SAP系统基本概念 1.1 SAP公司及其产品介绍
- Tomcat启动出现乱码
- 人员基础信息一体化采集仪_重要!包头退休人员注意!涉及信息采集(附操作步骤)...
- android隐藏顶部导航栏,Android去除顶部导航条
- win10系统以太网连接显示“未识别网络”问题的解决
- epub文件是什么文件?如何在windows系统上打开?
- 防止恶意调用API接口
- 阿里mysql密码_阿里云自带mysql 密码
- 高可用的接口安全规范
- SDOI 2018二轮题解(除Day2T1)
- 制作地图的那些事(四)——制图之地图调优