VS2019配置C++版本的GDAL

news2024/11/13 15:23:33

VS2019配置GDAL教程

【特别注意】

vs2019编译好的GDAL库是可以在VS2022上面使用的,我这边做项目已经测试过没有问题,所以vs2022使用vs2019编译的gdal没有问题。

【编译版本介绍】

由于GDAL在vs2019源码流程有点复杂,因此我们在这不做讲解,具体可以参考网上其他从源码编译教程。这里我编译各个源码版本如下:

curl-7.79.1.zip
gdal-3.3.2.zip
geos-3.9.1.tar.bz2
PROJ-8.1.1.zip
sqlite-amalgamation-3360000.zip
sqlite-dll-win64-x64-3360000.zip
tiff-4.3.0.tar.gz

【编译好的文件下载】

 本次是将GDAL 3.3.2进行编译的,下载链接:

https://download.csdn.net/download/FL1623863129/89775523

    下载后的文件进行解压,包括如下文件夹

解压到一个非中文且没有空格路径即可。我是解压如下文件夹

【环境变量添加】 

在VS上配置前,需要将GDAL文件路径添加到环境变量中,右击我的电脑,在属性中找到高级系统设置,在系统变量中找到path,双击后点击新建,将GDAL的bin路径,添加进来即可。可以参考如下,我添加的路径(E:\projects\gdal332\gdal_install\bin)。

 *********需要说明的,在系统环境中添加变量后,一定要重启vs和相关程序(建议重启系统,不重启记得要重启运行所有程序包括cmd,vs等),否则后面配置完,程序报错!!!

搜索栏输入enviroment关键词,选择编辑系统环境变量

选择用户变量或者系统变量之一Path即可,我选的是系统变量的Path

 

把GDAL路径加进去E:\projects\gdal332\gdal_install\bin(请对应自己路径)

【 VS环境配置 】

在新建好的VS2019工程,将工程设置成x64 Release,再右击项目属性

右键单机项目选择属性 

选C/C++---附加包含目录加入include目录,之后点击确定即可

 选链接器---常规--附加库目录,添加lib目录后点击确定即可

 选链接器---输入--附加依赖项,加入lib文件,就是E:\projects\gdal332\gdal_install\lib文件夹里面所有lib文件名字

 【配置环境检测】

 使用GDAL读写图片,该图片本身像素为641*606,读写进入后,获取其x、y轴像素,代码如下。

#include "gdal_priv.h"
#include<iostream>  
using namespace std;
int main()
{
	const char* pszFile;
	GDALAllRegister();
	pszFile = "D:\\test.jpg";
	GDALDataset* poDataset = (GDALDataset*)GDALOpen(pszFile, GA_ReadOnly);
	GDALRasterBand* poBand = poDataset->GetRasterBand(1);
	int xsize = poBand->GetXSize();
	int ysize = poBand->GetYSize();
	cout << xsize << endl;
	cout << ysize << endl;
	getchar();
 
	return 0;
}

运行结果:

 由结果可知,获取的图片像素正确,程序正常运行。 

为了满足不同需要,我又编译了下面一些版本,提供大家下载:

vs2015从源码编译gdal3.3.2好的库文件x64-release版本

https://download.csdn.net/download/FL1623863129/89775594

vs2017从源码编译gdal3.3.2好的库文件x64-release版本

https://download.csdn.net/download/FL1623863129/89775579

vs2019从源码编译gdal3.5.3好的库文件x64-release版本

https://download.csdn.net/download/FL1623863129/89775569

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2151049.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CSP-J2024年全真模拟题 阅读程序篇2

因为明天考试&#xff0c;这回给大家准备了超详细的解析~ 22.程序中 n 和 m 只有输入正整数&#xff0c;程序的输出值才可能是 YES A.对B.错 23.程序中用到了递归函数 bool fun&#xff08;int n&#xff09; A.对B.错 24.若输入 n 和 m 都是素数&#xff0c;程序的输出值…

vue MVC设计模式与MVVM设计模式

使用Vue框架开发前端项目,最大的优势就是再也不用进行复杂的DOM操作了,我们只要关心数据的变化即可,Vue框架会帮我们把复杂的DOM进行渲染,这背后都要归功于他的设计思想,即MVVM设计模式。 了解MVVM设计模式之前,有必要先了解一下MVC设计模式,MVVM模式是在MVC模式基础上…

【博弈论 斐波那契博弈】 HRPA

HRPA 这道题就是一个斐波那契博弈的经典模型&#xff1a; 有一堆个数为n的石子&#xff0c;第一个人第一次不能全部取完&#xff0c;每次一个人取石子的个数都应当大于0&#xff0c;且小于等于上一个人取的石子个数的两倍。 问是否有先手必胜策略。 如果有&#xff0c;第一个人…

分享一个通用OCR模型GOT-OCR2.0

通用OCR模型GOT-OCR2.0 在信息化快速发展的今天&#xff0c;光学字符识别&#xff08;OCR&#xff09;技术的应用越来越广泛。从文档数字化到自动化数据录入&#xff0c;OCR技术都发挥着重要作用。今天&#xff0c;我将为大家介绍一个开源的通用OCR模型——GOT-OCR2.0。 软件…

手把手教你-MAC虚拟环境搭建TensorFlow开发环境

参考如下代码布置&#xff0c;直接运行&#xff0c;即可: 1) 安装virtualenv $ sudo pip install virtualenv 2&#xff09;创建虚拟环境文件夹 $ virtualenv --system-site-packages -p python2.7 ./EnvPy27 3) 激活环境 $ source EnvPy27/bin/activate 4) 更新pip $ pi…

【动态规划】最大正方形

最大正方形&#xff08;难度&#xff1a;中等&#xff09; 该题对应力扣网址 思路 min_valuemin({dp[i-1][j-1],dp[i-1][j],dp[i][j-1]}) dp[i][j]min_value 关键点是正方形的右下角(n>1时)&#xff0c;通过画图&#xff0c;可以看出&#xff0c;在基础正方形22中&#x…

安卓13长按电源按键直接关机 andriod13不显示关机对话框直接关机

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码分析4.代码修改5.编译6.彩蛋1.前言 有些设备需要在长按电源键的时候,直接关机。不需要弹出对话框进行询问。 2.问题分析 过滤电源按键,需要在系统里面处理的话,那么我们需要熟悉android的事件分发,然后再…

Unsupervised Deep Representation Learning for Real-Time Tracking

摘要 我们的无监督学习的动机是稳健的跟踪器应该在双向跟踪中有效。具体来说&#xff0c;跟踪器能够在连续帧中前向定位目标对象&#xff0c;并回溯到其在第一帧中的初始位置。基于这样的动机&#xff0c;在训练过程中&#xff0c;我们测量前向和后向轨迹之间的一致性&#xf…

【专题】2024年9月直播、短视频行业报告合集汇总PDF分享(附原数据表)

原文链接&#xff1a;https://tecdat.cn/?p37744 在信息时代的浪潮下&#xff0c;直播短视频行业以其独特的魅力和强大的影响力&#xff0c;迅速成为了大众娱乐、信息传播以及商业营销的重要领域。从微短剧的异军突起&#xff0c;到 TikTok 在海外市场的蓬勃发展&#xff1b;…

音视频入门基础:AAC专题(3)——AAC的ADTS格式简介

音视频入门基础&#xff1a;AAC专题系列文章&#xff1a; 音视频入门基础&#xff1a;AAC专题&#xff08;1&#xff09;——AAC官方文档下载 音视频入门基础&#xff1a;AAC专题&#xff08;2&#xff09;——使用FFmpeg命令生成AAC裸流文件 音视频入门基础&#xff1a;AAC…

OpenSSH从7.4升级到9.8的过程 亲测--图文详解

一、下载软件 下载openssh 下载地址&#xff1a; Downloads | Library 下载openssl Index of /pub/OpenBSD/OpenSSH/ zlib Home Site 安装的 openssl-3.3.1.tar.gz ,安装3.3.2有问题 安装有问题&#xff0c; 二、安装依赖 yum install -y perl-CPAN perl-ExtUtils-CB…

stm32f411ceu6芯片学习

首先找到对应芯片的数据手册&#xff0c;硬件电路设计参考的是Electrical characteristics这一节&#xff0c;芯片的每一个引脚都会有推荐的电路接线。 基本每个芯片&#xff0c;都可以在数据手册中找到厂家提供的参考电路图&#xff0c;这就是绘制芯片的原理图最基本的依据。 …

【小白向】Google Play日区如何支付?Google Play日区怎么转?Google Play日区账号支付教程

1.引言 在移动应用和游戏的世界里&#xff0c;Google Play&#xff08;谷歌Play商店&#xff09;日区一直是许多用户的向往之地。日本作为全球第三大应用市场&#xff0c;拥有大量优质且独特的应用和游戏。本教程将为你详细介绍如何在Google Play商店进行日区支付、Google Pla…

mat工具的几个实用地方

背景 使用mat的过程中&#xff0c;有几个值得关注的注意点&#xff0c;可以帮助我们尽快查找到问题的答案 mat实用的注意点 一.打开直方图后排序&#xff0c;直观查看内存占用大小,如下图所示 二.查看某个对象实例的具体值&#xff0c;点击对象&#xff0c;点击List Object…

mysql使用sql函数对json数组的处理

MySQL从5.7版本开始增加了对JSON数据类型的支持。你可以使用->>操作符和JSON_EXTRACT函数来访问JSON数据中的值。 但是&#xff0c;对于JSON数组&#xff0c;如果你想要获取数组中的所有元素&#xff0c;MySQL并没有直接的函数来返回数组中的所有元素作为单独的行。不过…

甲基化组学全流程分析(适用于27k的甲基化数据)

甲基化组学全流程分析(适用于27k的甲基化数据) 前面我已经讲过450k和870k EPIC的甲基化芯片的全流程分析教程&#xff0c;分析功能更为完善和强大&#xff0c;今天讲讲甲基化位点探针较少的27k甲基化芯片的分析流程。 我开发了一款本地电脑无限使用的零代码生信数据分析作软图…

不出海等于出局?

从2023年开始&#xff0c;“出海”已经成了很多企业的主题词。我以前做过一段时间的百度竞价工作&#xff0c;所以有个习惯&#xff0c;会比较关注友商网站上的一些动态信息。2023年开始&#xff0c;以前熟悉的一些公司&#xff0c;网站上都多了一个板块&#xff0c;就是“出海…

HTML常见语法设计

HTML常见语法设计 1.HTML类和ID类id 2.HTML 响应式 Web 设计3.HTML5 语义元素4.HTML 字符实体5.HTML 编码&#xff08;字符集&#xff09; 1.HTML类和ID 类 对 HTML 进行分类&#xff08;设置类&#xff09;&#xff0c;使我们能够为元素的类定义 CSS 样式。为相同的类设置相…

鸿蒙Harmony-Next 徒手撸一个日历控件

本文将介绍如何使用鸿蒙Harmony-Next框架实现一个自定义的日历控件。我们将创建一个名为CalendarView的组件&#xff08;注意,这里不能叫 Calendar因为系统的日历叫这个&#xff09;,它具有以下功能: 显示当前月份的日历支持选择日期显示农历日期可以切换上一月和下一月 组件…

9月18日国家网络安全通报中心发布的100个高危漏洞(下)

9月18日国家网络安全通报中心发布&#xff0c;公安机关网安部门从危害程度、广泛性、漏洞利用形式、利用难度、检测难度等维度&#xff0c;梳理出了100个突出的高危漏洞&#xff0c;目前这些漏洞是各个网络安全公司检测的重点&#xff0c;广大网络运营者应尽快对照排查自己的网…