1. 環境
操作系統:win10
開發平台:vs2015
GDAL版本:gdal-release-3.0.0
2. 編譯和安裝
1.下載並解壓
在d盤中新建gdal文件夾將下載好的gdal-release-3.0.zip解壓到gdal目錄重命名為gdal-3.0並新建gdal_build和gdal_install兩個目錄.目錄結構如下:
d:
├─gdal
├─gdal_build
└─gdal_install
└─gdal-3.0
└─源代碼文件
2.在gdal-3.0目錄下的gdal目錄下新建cooperation_party目錄,將前面編譯《SQLite3在Windows下編譯(VS2015)》《Proj6.3在Window上的編譯(VS2015)》《geos-3.8.0在Windows上的cmake編譯(VS2015)》sqlite3_install,Proj4_install,Geos_install目錄文件拷貝到cooperation_party目錄中
d:
├─gdal
├─gdal_build
└─gdal_install
└─gdal-3.0
└─gdal
└─cooperation_party
└─sqlite3_install
└─Proj4_install
└─Geos_install
3.在gdal-3.0目錄下的gdal目錄下新建創建build.bat文件
@echo off
cd "%~dp0"
echo %cd%
REM 定義gdal_home
REM 定義gdal_home
set gdal_home="%cd%\..\..\gdal_install"
echo %gdal_home%
REM 創建gdal_home目錄
mkdir %gdal_home%
REM 定義proj_include
set proj_include="%cd%/cooperation_party/Proj4_install/include"
REM 定義proj_library
set proj_library="%cd%/cooperation_party/Proj4_install/lib/proj.lib"
REM 定義sqlite3_include
set sqlite3_include="%cd%/cooperation_party/sqlite3_install/include"
REM 定義sqlite3_library
set sqlite3_library="%cd%/cooperation_party/sqlite3_install/lib/SQLite3.lib"
REM 定義geos_include
set geos_library="%cd%/cooperation_party/Geos_install/lib/geos_c.lib"
REM 定義geos_library
set geos_cflags="%cd%/cooperation_party/Geos_install/include"
echo %geos_cflags%
nmake -f makefile.vc MSVC_VER=1900 WIN64=1 GDAL_HOME=%gdal_home% PROJ_INCLUDE=-I%proj_include% PROJ_LIBRARY=%proj_library% SQLITE_INC=-I%sqlite3_include% SQLITE_LIB=%sqlite3_library% GEOS_LIB=%geos_library% GEOS_CFLAGS=-I%geos_cflags%
最終文件目錄如下:
d:
├─gdal
├─gdal_build
└─gdal_install
└─gdal-3.0
└─gdal
└─build.bat
└─cooperation_party
└─sqlite3_install
└─Proj4_install
└─Geos_install
3.編譯項目
1)啟動VS2015 x64兼容命令提示符
2)拖動D:\gdal\gdal-3.0\gdal\build.bat文件到上面打開命令提示符中執行
4.安裝項目
修改build.bat命令行參數
開發用
nmake -f makefile.vc MSVC_VER=1900 WIN64=1 devinstall
或發布用
nmake -f makefile.vc MSVC_VER=1900 WIN64=1 install