Windows下使用Conda和CMake构建GDAL
2022-10-07 本文已影响0人
NullUser
安装miniconda
安装miniconda
安装好后,键入Win+R
,输入cmd
打开cmd终端,输入conda --version
,显示有conda版本后即表示安装成功。
安装GDAL依赖
打开cmd终端,输入如下命令,开始安装构建GDAL时所需的依赖。
conda create --name gdal
conda activate gdal
conda install --yes --quiet curl libiconv icu git python=3.7 swig numpy pytest zlib clcache
conda install --yes --quiet -c conda-forge compilers
conda install --yes --quiet -c conda-forge \
cmake proj geos hdf4 hdf5 \
libnetcdf openjpeg poppler libtiff libpng xerces-c expat libxml2 kealib json-c \
cfitsio freexl geotiff jpeg libpq libspatialite libwebp-base pcre postgresql \
sqlite tiledb zstd charls cryptopp cgal librttopo libkml openssl xz
其中conda create --name gdal
代表创建了名称为gdal
的环境。
conda activate gdal
激活当前环境为gdal。
codna install
在当前激活环境下安装依赖。
获取GDAL源码
GDAL源码获取的两种方式:
- 直接从
git
获取
cd c:\dev
git clone https://github.com/OSGeo/gdal.git
- 下载源码
GDAL下载
构建GDAL
打开cmd终端,使用conda激活当前使用环境为gdal后,使用cmake构建。
conda activate gdal
cd c:\dev\gdal
cmake -S . -B build -DCMAKE_PREFIX_PATH:FILEPATH="%CONDA_PREFIX%" \
-DCMAKE_C_COMPILER_LAUNCHER=clcache
-DCMAKE_CXX_COMPILER_LAUNCHER=clcache
cmake --build build --config Release -j 8
conda activate gdal
:在前面的步骤中,使用conda创建了名为gdal
的环境,并为其安装了依赖,这里就直接激活使用该环境。
cd c:\dev\gdal
:进入gdal源码目录。
cmake -S . -B build
使用cmake生成工程,windows下默认为vs2017_win-64
,如果使用其它VS版本,可以通过cmake的-G
参数指定,如:使用vs2019的情况:cmake -S . -B build -G "Visual Studio 16 2019"
。
Note
- 使用cmake生成工程时,可以通过-D指定宏,如:在构建GDAL时我不想使用KML库,则可以指定宏
GDAL_USE_LIBKML
的值为OFF
。这样生成的GDAL工程将不会引入kml库
。更多的宏可以参考配置cmake的选项
cmake -S . -B build -G "Visual Studio 16 2019" -DGDAL_USE_LIBKML=OFF
- 根据GDAL对cmake配置选项的描述中可以发现,在生成GDAL工程时,某些库的使用是根据该库是否被找到而决定的。
cmake配置项介绍
如kml库
,如果找到该库,则宏GDAL_USE_LIBKML
值为
ON
,否则为OFF
。