Windows下使用Conda和CMake构建GDAL

安装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

你可能感兴趣的:(Windows下使用Conda和CMake构建GDAL)