ubuntu18.04下编译gdal2.2.4,包括Android版

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


1.编译Ubuntu本机使用的GDAL库

注意:–without表示不编译这些功能,如果需要可自行修改;
–prefix表示编译安装的目录,可自行修改;
–enable-static表示生成静态库,自己不用的话可去掉;
–with-pic表示在编译时增加“-fPIC”参数,自己不用的话可去掉。
创建编译脚本,build_linux.sh,写入如下命令:

make clean
./configure CFLAGS="-fPIC" CXXFLAGS="-fPIC" --enable-static --prefix=/home/xx/gdal-2.2.4_ubuntu/gdal_linux --with-pic --without-gif --with-threads --with-ogr --with-geos --with-libz=internal --without-bsb --without-cfitsio --without-cryptopp --without-curl --without-dwgdirect --without-ecw --without-expat --without-fme --without-freexl --without-gif --without-gif --without-gnm --without-grass --without-grib --without-hdf4 --without-hdf5 --without-idb --without-ingres --without-jasper --without-jp2mrsid --without-jpeg --without-kakadu --without-libgrass --without-libkml --without-libtool --without-mrf --without-mrsid --without-mysql --without-netcdf --without-odbc --without-ogdi --without-openjpeg --without-pcidsk --without-pcraster --without-pcre --without-perl --without-pg --without-php --without-png --without-python --without-qhull --without-sde --without-sqlite3 --without-webp --without-xerces
make -j8 
make install

打开终端,运行脚本,输入如下命令:

bash ./build_linux.sh

2.编译Android使用的GDAL库

本文用的是NDK22版本进行交叉编译,此命令编译的是armv7版本的库,如果需要编译armv8或者其他架构的库,可自行修改路径。
注意:–without表示不编译这些功能,如果需要可自行修改;
–prefix表示编译安装的目录,可自行修改;
–enable-static表示生成静态库,自己不用的话可去掉;
–with-pic表示在编译时增加“-fPIC”参数,自己不用的话可去掉。
创建编译脚本,build_Android.sh,写入如下命令:

export HOST_TAG=linux-x86_64
export TOOLCHAIN=/home/xx/ToolChains/android-ndk-r22b/toolchains/llvm/prebuilt/$HOST_TAG
export AR=/home/xx/ToolChains/android-ndk-r22b/toolchains/llvm/prebuilt/linux-x86_64/bin/arm-linux-androideabi-ar
export AS=/home/xx/ToolChains/android-ndk-r22b/toolchains/llvm/prebuilt/linux-x86_64/bin/arm-linux-androideabi-as
export RANLIB=$TOOLCHAIN/bin/arm-linux-androideabi-ranlib
export CC=/home/xx/ToolChains/android-ndk-r22b/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang
export CXX=/home/xx/ToolChains/android-ndk-r22b/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang++
export LD=/home/xx/ToolChains/android-ndk-r22b/toolchains/llvm/prebuilt/linux-x86_64/bin/arm-linux-androideabi-ld
export STRIP=/home/xx/ToolChains/android-ndk-r22b/toolchains/llvm/prebuilt/linux-x86_64/bin/arm-linux-androideabi-strip

make clean

./configure --host=arm-linux-androideabi --prefix=/home/xx/gdal-2.2.4_1/gdal_android --with-pic --without-gif --with-threads --with-ogr --with-geos --with-libz=internal --without-bsb --without-cfitsio --without-cryptopp --without-curl --without-dwgdirect --without-ecw --without-expat --without-fme --without-freexl --without-gif --without-gif --without-gnm --without-grass --without-grib --without-hdf4 --without-hdf5 --without-idb --without-ingres --without-jasper --without-jp2mrsid --without-jpeg --without-kakadu --without-libgrass --without-libkml --without-libtool --without-mrf --without-mrsid --without-mysql --without-netcdf --without-odbc --without-ogdi --without-openjpeg --without-pcidsk --without-pcraster --without-pcre --without-perl --without-pg --without-php --without-png --without-python --without-qhull --without-sde --without-sqlite3 --without-webp --without-xerces

make -j8
make install

打开终端,运行脚本,输入如下命令:

bash ./build_Android.sh
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值