为了编译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)相关推荐

  1. 编译GDAL在win10适用VS2015(64位)

    这里写自定义目录标题 老师作业要用到GDAL,折腾了好几天,才算是编译完成了,把经验分享一下. 编译环境要求 老师作业要用到GDAL,折腾了好几天,才算是编译完成了,把经验分享一下. 编译环境要求 我 ...

  2. 自定义编译gdal库

    作者:朱金灿 来源:http://blog.csdn.net/clever101 使用下载下来的gdal库的makefile来编译gdal库,生成的gdal库的名字debug版本和release版本都 ...

  3. 学了C语言,如何利用CURL写一个下载程序?—用nmake编译CURL并安装

    在这一系列的前一篇文章学了C语言,如何为下载狂人写一个磁盘剩余容量监控程序?中,我们为下载狂人写了一个程序来监视磁盘的剩余容量,防止下载的东西撑爆了硬盘.可是,这两天,他又抱怨他的下载程序不好用,让我 ...

  4. Linux下编译GDAL

    一.准备工作 从官网下载GDAL.PROJ.4和GEOS,将其存放在/home/liml/Work/3rdPart目录并解压,如下图所示.下载地址请自行Google.注:使用的系统是CentOS6.4 ...

  5. 编译GDAL支持OpenCL使用GPU加速

    ##前言 GDAL库中提供的gdalwarp支持各种高性能的图像重采样算法,图像重采样算法广泛应用于图像校正,重投影,裁切,镶嵌等算法中,而且对于这些算法来说,计算坐标变换的运算量是相当少的,绝大部分 ...

  6. 编译GDAL支持ArcObjects

    编译GDAL支持ArcObjects. 首先修改nmake.opt文件中对应的ArcObjects,修改后的如下所示: #uncomment to use ArcObjects ARCOBJECTS_ ...

  7. 编译GDAL使用最新的HDF库配置文件

    HDF库最新版本中的动态库以及目录结构都发生了变化,导致按照之前的博客进行编译GDAL时,会出问题.使用HDF4版本为HDF4-4.2.10,HDF5的版本为HDF5-1.8.12.两个库的目录结构如 ...

  8. Win10+Vs2022+opengl4.6+glad+glwf3 开发环境搭建

    1. 安装vs2022 https://visualstudio.microsoft.com 只需要选择 Desktop development with C++ 组件,其它组件都不用选.C++组件中 ...

  9. PHP7 windows增加自定义扩展和编译PHP源代码

    PHP7 windows增加自定义扩展和编译PHP源代码 需要用到的材料 ①确定需要编译的版本,查看PHPINFO,确定PHP版本,VC版本和PHP位数.根据PHP VC版本下载对应的Visual S ...

  10. 在Ubuntu18.04安装GMT-6.1.1(在 Linux 下编译 GMT 源代码)

    参考:GMT中文社区 写本文的目的:参考了CSDN上面许多安装GMT方法但是安装过程出现了各种问题,可能因为下载了官网的最新版本,而CSDN都是老版的安装方法有些地方不适用,走了好多弯路.后来才发现G ...

最新文章

  1. Google 出品的 Java 编码规范,值得借鉴!
  2. centos升级python_CentOS 升级Python3
  3. 线程同步之关键代码段
  4. CodeIgniter中URL含有中文字符串的解决方案
  5. django-静态文件设置
  6. 解决tomcat的undeploy
  7. w我的页面显示服务器错误,vue项目,在本地打开一个页面正常,部署到服务器就会出现 404Not Found 求解?...
  8. 读取 配置文件_自动化测试中,如何读取配置文件内容?
  9. ThreadLocal总结(jdk1.8源码)
  10. 《SAP从入门到精通》——第1章 SAP系统基本概念 1.1 SAP公司及其产品介绍
  11. Tomcat启动出现乱码
  12. 人员基础信息一体化采集仪_重要!包头退休人员注意!涉及信息采集(附操作步骤)...
  13. android隐藏顶部导航栏,Android去除顶部导航条
  14. win10系统以太网连接显示“未识别网络”问题的解决
  15. epub文件是什么文件?如何在windows系统上打开?
  16. 防止恶意调用API接口
  17. 阿里mysql密码_阿里云自带mysql 密码
  18. 高可用的接口安全规范
  19. SDOI 2018二轮题解(除Day2T1)
  20. 制作地图的那些事(四)——制图之地图调优

热门文章

  1. 通过IP查询地址之纯真IP数据库
  2. mdf mysql_mdf mysql数据库
  3. 继电保护原理7-母线保护
  4. GIS开发实习地图符号图式制作
  5. wordpress炫酷主题Salient最新版13.0.5 汉化版免费下载
  6. 联想小新520怎么样?对比当贝D3X哪款更值得买?
  7. 360浏览器html5无法播放,win7系统360浏览器播放不了视频的解决方法
  8. 怎么利用计算机计算潮流计算,计算机潮流计算.ppt
  9. 浏览器下载大文件时下载完成但大小对不上
  10. 示波器使用方法,正确使用示波器