GDAL-3.3.2编译

2023-11-11

前言

我的环境是win10+vs2019+gdal3.3.2

编译步骤

1.GDAL下载
(1)GDAL下载地址
(2)GEOS(Geometry Engine, Open Source)下载地址
(3)PROJ8下载地址

注意:
1.geos官网主页
不知道为什么选择 红色框的部分,无法下载,我只好用git 下载

在这里插入图片描述
使用 git bash下载
git clone https://git.osgeo.org/gitea/geos/geos.git
在这里插入图片描述

2.使用CMake编译GEOS源码,生成GEOS.sln工程
在这里插入图片描述
在这里插入图片描述
使用vs2019打开GEOS.sln, debug和release生成lib、dll
(1)debug:
lib在这里插入图片描述
dll
在这里插入图片描述

 (2)release
 lib

在这里插入图片描述

dll
在这里插入图片描述
3. proj编译

(1)proj下载地址
在这里插入图片描述
(2)使用CMake编译proj

在这里插入图片描述
发现proj需要依赖sqlit3,所以需要在CMakeLists.txt中配置sqlit3的安装路径
(3)下载sqlite
在这里插入图片描述
(4)编译sqlite
首先,把SQLite编译成动态链接库:
打开Visual Studio 2019,新建一个名为sqlite3的Visual C++ Win32工程,在工程向导页中选择工程的类型为 “DLL”, 并且把创建为空项目的复选框钩上。通过工程—>添加现有项…,把单一文件sqlite3.c添加到工程中。为了生成在链接sqlite3.dll时需要用到的lib文件,需要在工程中添加模块定义文件。根据sqlite3.h中列出的导出函数名
然后,把sqlite3.def文件拷贝到sqlite3工程下
在这里插入图片描述
最后生成sqlite3.dll和sqlite3.lib在这里插入图片描述
在这里插入图片描述

(5)编译proj
使用CMake生成工程
在这里插入图片描述

(6)使用conda编译gdal
gdal编译官方说明
在这里插入图片描述
翻译成中文:
a .下载git
b. 下载 miniconda
c. 然后再c盘创建dev目录
d.使用miniconde
在这里插入图片描述
在这里插入图片描述
e. 输入 “y”
f: 再输入:conda activate gdal
在这里插入图片描述

在这里插入图片描述
然后再输入
g:conda install --yes --quiet curl libiconv icu git python=3.7 swig numpy pytest zlib clcache
在这里插入图片描述

h:输入conda install --yes --quiet -c conda-forge compilers
在这里插入图片描述
i: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 jasper librttopo libkml openssl xz
注意:这里有换行符,如果直接复制到conda中,只能识别到第一行,解决办法把这行命令复制到txt文本中,并把反斜杠换行符去掉,组成一行命令,如下:
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 jasper librttopo libkml openssl xz

然后把这行命令复制到conda中:然后回车
在这里插入图片描述
这里要经过漫长等待,大概1个小时左右,取决于各位看官老爷的网速哈,可以看到,conda是要下载相关的依赖库
在这里插入图片描述
然后:完成后,后自conda会自动切换到vs2017的路径
在这里插入图片描述

敲命令:cd c:\dev
在这里插入图片描述

然后敲命令:
git clone https://github.com/OSGeo/gdal.git

最重要的要来了,编译gdal,生成sln工程:

敲命令
cd c:\dev\gdal

敲命令:
cmake -S . -B build -DCMAKE_PREFIX_PATH:FILEPATH="%CONDA_PREFIX%"
-DCMAKE_C_COMPILER_LAUNCHER=clcache
-DCMAKE_CXX_COMPILER_LAUNCHER=clcache

                这里同样注意:把这段命令复制到txt文本中,去掉反斜杠,写成一行:
                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

这样就会成gdal.sln工程,(如果运气好的话,哈哈),我这里运气不好,报了一大堆错,
虽然不能直接生成gdal.sln工程,好在生成了CMakeLists.txt文件,
我只好用CMake生成gdal.sln工程
在这里插入图片描述
有个警告,不知道为什么,先忽略

在这里插入图片描述
这里有2个错误,估计是CMake没有识别到zlib的头文件和库,那么,我们就在CMake中指定zlib的头文件和lib
在这里插入图片描述

包含zlib的头文件和lib

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GDAL-3.3.2编译 的相关文章

随机推荐

  • 系统重装系列(三)

    系统重装系列 三 接着上期的一系列操作完成后 接下来是我对于系统设置调整 使得系统更加简洁好用 上期回顾 系统重装系列 二 打酱油的杯具的博客 CSDN博客 任务栏 这是刚刚到手的任务栏 个人喜欢小图标 并且要去掉搜索框和右边更新的这个无卵
  • javaJDBC——连接mysql数据库

    java连接数据库的五种方法 最好的效率最高的是第五种 package com webtest connection import java io IOException import java io InputStream import
  • thinkphp:在解决join多表联查的时候,解决关联表默认加上前缀的问题

    问题 由上图看出正确的应该是表so lines all 而现在变为了fa so line all 故表不存在 初始代码 data db table wip jobs all gt alias a 设置wip jobs all的别名 gt j
  • vue el-form-item :rules动态校验实现

    1 form表单中
  • 【Transformer】15、PoolFormer: MetaFormer is Actually What You Need for Vision

    文章目录 一 背景和动机 二 方法 2 1 MetaFormer 2 2 PoolFormer 三 效果 四 代码 论文链接 https arxiv org pdf 2111 11418 pdf 代码链接 https github com
  • 写Python爬虫的准备工作

    写Python爬虫的准备工作 学习Python也有一段时间了 前段时间开始搞爬虫 刚开始真是头再铁也撞出血来 不过经过一段时间的摸索 总是是基本入门了 以后的路只能慢慢爬了 今天就来总结下开始爬虫之前 需要做什么准备工作 同时也是作为第一篇
  • 如何找到优秀的软件外包开发公司

    软件项目是一个复杂的系统工程 需要全面考虑 顶层设计 底层细化的方式 找公司前还是要自己懂一些技术 不懂就找一个懂技术的朋友帮着把关一下 否则很可能做不好项目 目前创业的人多 开发公司也很多 当你自己不懂的时候很难选择 北京木奇移动技术有限
  • 声音合集

    系统声音 package com ahsoft tachymeterapp utils import android media Ringtone import android media RingtoneManager import an
  • 计算机网络期末复习

    资料篇 计算机网络谢希仁版简答题题库 百度文库 习题篇 计算机网络简答题总结 百度文库 计算机网络第5章试题 百度文库 HCNE题库官网最新完整第篇传输层协议原理 附答案详解 百度文库 我又来了 想好好说一下这个复习题 you know关于
  • 哈希表(散列表)详解

    今天的每一秒都是珍贵的 因为它永远不会再次出现 作者 不能再留遗憾了 专栏 Java学习 本文章主要内容 深入理解哈希表 散列表 散列函数的几种构造方法以及解决哈希冲突的方法 文章目录 前言 什么是哈希表 哈希表相对于其他的查找结构有什么优
  • npm报错Error: ENOENT: no such file or directory, mkdir

    报错如下 解决方法 检查C Users Administrator目录下的 npmrc是否有问题 笔者的电脑上面没有F盘 删掉这一行后直接就能用了 最后 排错不易 如果问题没解决可以看这个文章 https blog csdn net kel
  • Faster R-CNN/R-FCN里mAP的计算过程(voc_eval.py解析)

    Faster R CNN R FCN在github上的python源码用mAP来度量模型的性能 mAP是各类别AP的平均 而各类别AP值是该类别precision prec 对该类别recall rec 的积分得到的 即PR曲线下面积 关于
  • C 语言使用Libcurl /curl 发送数据 (可以设置http header)

    1 环境Windows 2 依赖库文件 头文件
  • swoole-redis连接池的问题总结

    答题小程序遇到的问题 1 使用swoole的redis池爆满之后 无法调试 也不会报错 但是使用strace调试代码跟踪会出现 出现原因如下 1 代码出错 2 连接池爆满 解决方案 使用下面插件作为连接池 因为他有 一个定时关闭redis链
  • 【Teradata】windows部署安装Teradata数据库(附虚拟机扩展包)

    一 teradata 官网地址 点击此处 注 下载 需要科学上网 安装包链接 Teradata17 10版本 二 解压压缩包 注 第一个是Teradata for ODBC 第二个是Teradata虚拟机扩展包 三 安装 3 1打开VMwa
  • AlexNet imagenet classification with deep convolutional neural networks 阅读笔记

    NIPS 2012 imagenet classification with deep convolutional neural networks Paper 该网络有60 000 000个参数 650 000个神经元 包含5个卷积层 有一
  • 几分钟带你快速了解MyBatis框架理论知识!

    1 Mybatis框架是什么 mybatis是一款非常优秀的持久化框架 也是一个半ORM 对象关系映射 框架 mybatis框架它支持sql语句的定制化 存储过程和高级映射 mybatis避免了JDBC代码和手动设置参数和获取结果集 myb
  • 7个步骤让PC网站自动适配手机网页

    传统的网站如何完成向移动设备的快速转型 通过移动适配技术可以实现 切图网是国内首家基于web技术服务的公司 而移动适配主要通过底层的web技术开发手段来完成 下面切图网将从技术角度来告诉你通过7个步骤来完成一个PC网站向移动设备的跳跃 1允
  • Stereo Matching (双目)立体匹配 & 视差图 & 双目图片进行立体匹配获取深度图进行三维重建的步骤​​​​​​​

    立体匹配技术就是通过匹配两幅或者多幅图像来获得视差 disparity 图 通过立体匹配可以获得深度 进行深度估计 立体匹配算法通常由四个部分组成 包括 匹配代价计算 代价聚合 视差计算和视差优化 双目立体匹配一直是双目视觉的研究热点 双目
  • GDAL-3.3.2编译

    前言 我的环境是win10 vs2019 gdal3 3 2 编译步骤 1 GDAL下载 1 GDAL下载地址 2 GEOS Geometry Engine Open Source 下载地址 3 PROJ8下载地址 注意 1 geos官网主