windows源码编译gdal3.3.1, proj 8.1.0,Vs2015编译器

一、源码下载proj和sqlite和gdal:

本次下载的是proj版本是proj 8.1.0

下载地址:https://download.osgeo.org/proj/proj-8.1.0.tar.gz

sqlite是sqlite3.36

https://www.sqlite.org/2021/sqlite-amalgamation-3360000.zip

gdal 是 gdal3.3.1

https://github.com/OSGeo/gdal/releases/download/v3.3.1/gdal-3.3.1.tar.gz

解压到同级目录

gdal-3.3.1 也在上面两个的同级目录

二、配置编译环境

set BUILD_TYPE=debug
#或者设置release,根据你的需求来设置


set PLATFORM=x64
#或者设置x86,根据你的需求来设置


#vs2015 的vs环境变量为Vs140 其他版本的vs根据你的需求配置。
set VSENV=%VS140COMNTOOLS%\..\..\vc

#vs2015的路径设置到环境变量里面去
set path=%VSENV%;%path%

call "%VSENV%\vcvarsall.bat" %PLATFORM%

#编译期间,需要用到cmake。 可以将cmake命令设置到path环境变量里面去例如
set path=D:\cmake-3.14.3-win32-x86\bin;%path%

三、windows源码编译sqlite3.36

至于sqlite3.def.  你可以查资料如何创建

官方网站下载sqlite-dll-win64-x64-3360000.zip 文件中包含def文件

其实就是一个文本文件,里面有需要导出函数的列表,差不多200多行。

cd sqlite-amalgamation-3360000
lib /DEF:sqlite3.def /MACHINE:%PLATFORM%

 编译生成sqlite3.lib

根据你设定/MACHINE:的x86还是x64 可以编译相应的lib文件。

四、源码编译proj8.1.0

cd proj-8.1.0
mkdir build
cd build
cmake .. -G "NMake Makefiles"  -DCMAKE_BUILD_TYPE=%BUILD_TYPE% -DBUILD_TESTING=OFF -DSQLITE3_INCLUDE_DIR=../../sqlite-amalgamation-3360000/ -DSQLITE3_LIBRARY=../../sqlite-amalgamation-3360000/sqlite3.lib -DENABLE_CURL=OFF -DENABLE_TIFF=OFF -DBUILD_PROJSYNC=OFF

生成的结果为:

生成的lib文件夹下有proj.lib或者proj_d.lib 根据你设定的debug和release来区分两者。

生成的data文件夹里面的数据是有用的。后面使用proj的时候需要用到。

五、windows源码编译gdal3.3.1

1 配置gdal的环境

cd gdal-3.3.1
set PROJ_FLAGS=-DPROJ_STATIC
set PROJ_INCLUDE=-I%cd%\proj-8.1.0\src
set PROJ_LIBRARY=%OUTDIR%\proj.lib
set SQLITE_LIB=%cd%\sqlite-amalgamation-3360000\sqlite3.lib
set SQLITE_INC=-I%cd%\sqlite-amalgamation-3360000
set GDAL_HOME=%cd%\gdal

if debug
nmake /f makefile.vc MSVC_VER=%MSVC_VER% DEBUG=1 WITH_PDB=1
else if release
nmake /f makefile.vc  MSVC_VER=%MSVC_VER%


nmake /f makefile.vc devinstall

2. nmake相关的命令就是编译和安装了

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值