基于VS2017编译配置GDAL教程
源代码下载
git clone https://github.com/OSGeo/gdal.git
PROJ安装配置
GDAL3.0以上版本必须依赖于PROJ库(6.0以上版本),因此需要在编译前安装PROJ。PROJ可以通过源代码编译安装,这种方式我刚开始尝试了没有成功,也可以通过osgeo或conda安装,我采用的是conda安装
conda create -n proj python=3.8
#安装proj包
conda activate proj
conda install proj
通过conda安装的PROJ,安装目录如下,在后面会用到这两个目录
D:\ProgramData\Anaconda3\envs\proj\Library\include
这个目录包含PROJ的头文件
D:\ProgramData\Anaconda3\envs\proj\Library\lib
这个目录包含PROJ的库文件
此外还需要配置环境变量PROJ_LIB,否则会在用GDAL进行坐标转换时报错,PROJ_LIB为proj.db所在路径
并修改环境变量Path,添加下图路径,否则会报错找不到proj.dl
修改编译配置文件
修改GDAL源码目录下的nmake.opt文件
- GDAL_HOME = “C:\warmerda\bld” GDAL的安装路径(66行左右),可以根据自己的需要进行修改,我的是GDAL_HOME = “G:\warmerda\bld”
- PROJ_INCLUDE 和 PROJ_LIBRARY(260行左右) ,在编译的时候需要指明PROJ路径,我的如下:
PROJ_INCLUDE = -ID:\ProgramData\Anaconda3\Library\include
PROJ_LIBRARY = D:\ProgramData\Anaconda3\Library\lib\proj.lib shell32.lib ole32.lib
编译
打开x64 Native Tools Command Prompt for VS 2017工具,切换到GDAL源码目录下
编译安装步骤
nmake -f makefile.vc WIN64=1
注意:在nmake.opt文件中可以通过去掉WIN64=YES的注释,来编译64位的GDAL,但我这样做编译一直报错(很奇怪),所以就在编译命令行中直接加上WIN64=1,效果是一样的,编译成功nmake -f makefile.vc WIN64=1 install
这会在安装目录下生成bin和data两个文件
bin文件夹中存放的是GDAL命令行工具,将该目录添加到环境变量PATH后,可以直接调用
环境变量
GDAL命令行调用
nmake -f makefile.vc WIN64=1 devinstall
这会在安装目录下生成include和lib两个文件,用于二次开发,后续VS开发环境配置会用到这两个目录
VS2017 GDAL配置
- 打开VS2017新建项目
- 项目、属性
- VC++目录、包含目录
- VC++目录、库目录
- 链接器、输入、附加依赖项
测试
注意修改为自己的图像路径
#include <gdal_priv.h>
#include <iostream>
using namespace std;int main()
{GDALAllRegister();const char * tifpath = "./demo.tif";GDALDataset * ds = (GDALDataset *)GDALOpen(tifpath, GA_ReadOnly);if (ds == NULL){cout << "打开文件失败" << endl;return 0 ;}cout << "图像基本信息" << endl;cout << ds->GetDriver()->GetDescription() << endl;cout << "图像元数据" << endl;cout << ds->GetDriver()->GetMetadataItem(GDAL_DMD_LONGNAME) << endl;int bandcount = ds->GetRasterCount();cout << "图像波段数目:" << bandcount << endl;int width = ds->GetRasterXSize();int height = ds->GetRasterYSize();cout << "图像宽度:" << width << endl;cout << "图像高度:" << height << endl;const OGRSpatialReference * sr = ds->GetSpatialRef();char * srwkt;sr->exportToWkt(&srwkt);cout << "坐标信息:" << endl;cout << srwkt << endl;system("pause");return 0;
}
输出
基于VS2017编译配置GDAL教程相关推荐
- win10 VS2017编译Audacity详细教程
win10 VS2017编译Audacity详细教程 安装Visual Studio2017和git,这里不详细叙述,网上很多教程. 配置wxWidgets a.官网下载地址http://www.wx ...
- win10+VS2017编译配置boost_1_78_0
1.编译boost库 1.1下载boost 下载官网地址:boost_1_78_0 注意,有时候会下载不全,下载之后检查一下 如果下载不完全,编译不能通过 1.2 解压 解压,一定要解压到一个指定文件 ...
- android studio开发rtk,科学网—基于VS2017编译调试rnx2rtkp - 陈超的博文
2.4.2 p13和2.4.3 b33版本中的rnx2rtkp项目提供了完整的visual studio解决方案文档,但是2.4.3 b33中缺失了msc.vcproj文件: 如果想要用2.4.3版本 ...
- VS2019配置GDAL2教程
文章目录 环境 配置教程 1. 下载 GDAL 2.3.2 2. 修改源代码 3. 编译源代码 4. 在 VS2019 项目中配置 GDAL 5. 设置环境变量 6. 拷贝 gdal203.dll 到 ...
- 使用VS2017编译sqlite和在VS2017中配置使用sqlite的简单例子演示
转自:http://blog.csdn.net/hyxiaohaiyang/article/details/7382551 知识补充: sqlite3.dll动态链接库,它允许程序共享执行特殊任务所必 ...
- Ice-3.5.1在CentOS 6.5系统中的编译配置教程
Ice-3.5.1在CentOS 6.5系统中的编译配置教程 1 操作系统 CentOS release 6.5 (Final) x86_64 系统. 2 源码包下载 Ice-3.5.1.zip 下 ...
- objectARX2018+CAD2018_x64+VS2015开发环境详细配置过程(基于向导编译)
步骤一.下载对应文件 1.VS2015 update3版本:官网下载community版本:https://my.visualstudio.com/Downloads?q=visual%20studi ...
- 基于LLVM的编译原理简明教程 (1) - 写编译器越来越容易了
基于LLVM的编译原理简明教程 (1) - 写编译器越来越容易了 进入21世纪,新的编程语言如雨后春笋一样不停地冒出来.需求当然是重要的驱动力量,但是在其中起了重要作用的就是工具链的改善. 2000年 ...
- opencv3.4.6 vs2017 win10 配置contrib库 教程
从opencv3开始,将sift.surf等函数相关的库单独拎出来了,若要使用需配置contrib包.本文介绍了如何在vs2017中配置contrib+opencv.所用版本为opencv3.4.6+ ...
最新文章
- 数据项目总结 -- 蛋壳公寓租金分析!
- Domino URL Command 详解
- 云服务双十一大促,最后选手阿里云上场!没有让等到最后的用户失望!
- 微盘 计算机英语,高中英语,微盘.doc
- 【转】gdb 调试段错误
- 操作系统服务:logging日志记录模块
- Kafka参数图鉴——unclean.leader.election.enable
- 18寒假最后一测+dijistra模板
- js点击图片查看大图,并可以拖动,且滚动滑轮放大缩小
- 华晨集团债务违约65亿 宝马中国:华晨宝马运营不受影响
- Python组合数据类型:容器类型转换,list←→tuple←→set
- USACO milk
- PaddlePaddle(2)——数据获取与处理(以CV任务为主)
- EasyUI:datagrid清空所有选择行
- Java求 a+aa+aaa+aaaa+a....a 的值
- 小米手机获取ROOT权限的一些坑及补坑经验
- excel单元格内容拆分_Excel | 单元格内容换行方法
- 锐度对比度饱和度什么的
- 西方经济学微观部分中的英文字母缩写
- HTML+CSS做的商城页面
热门文章
- 发微博说服务器数据有延迟,微信回应消息延迟bug:由于系统抖动原因致信息延迟...
- js 实现post跳转页面
- 周末动物园旅游计划书
- android界面赏析,Android L的UI赏析 部分比苹果iOS 8更赏心悦目
- VMware开启IPV6地址
- vue安装和卸载依赖包
- 星露谷物语多玩家不显示服务器模式,《星露谷物语》多人模式最新详情 玩家之间可结婚!...
- 计算机音乐火影,【史上最全的火影BGM(背景音乐)】
- Spring Boot中DAO层和Service层等理解
- word旋转画布的vba源码