【GDAL】Windows下VS+GDAL开发环境搭建

这篇具有很好参考价值的文章主要介绍了【GDAL】Windows下VS+GDAL开发环境搭建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Step.0 环境说明(vs版本,CMake版本)

本地的IDE环境是vs2022,安装的CMake版本是3.25.1。

Step.1 下载GDAL和依赖的组件

编译gdal之前需要安装gdal依赖的组件,gdal所依赖的组件可以在官网文档找到,可以根据自己的开发需求来下载编译相应的组件,在这里仅支持常用的数据及功能,所以就只下载了sqlite,libtiff,proj者几个依赖组件,下载的地址如下:
sqlite:https://www.sqlite.org/download.html ,根据自身的操作系统选择要下载的二进制文件。
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
libtiff:https://download.osgeo.org/libtiff/,我这里选择的是4.6.0版本。
proj:https://proj.org/en/9.3/download.html。
gdal:https://download.osgeo.org/gdal/,我下载的是3.8.2版本。
以上源码包已经上传,以上链接访问不了的可以直接下载:下载gdal相关源码包

Step.2 编译Sqlite

2.1 将之前下载的sqlite的三个压缩包全部解压到一个目录下。
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++

2.1 在vs中新建一个名为SqliteCompile的空项目,将sqlite3.c和sqlite3.def文件导入源文件,将sqlite3.h和sqlite3ext.h导入头文件。
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
2.3 配置项目属性:
(1)配置平台和生成的目标类型(lib静态库)
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
(2)配置预处理器定义:
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
在预处理器定义中填入以下配置:

_USRDLL
SQLITE_ENABLE_RTREE
SQLITE_ENABLE_COLUMN_METADATA
SQLITE_ENABLE_FTS5
SQLITE_ENABLE_UNLOCK_NOTIFY

(3)设置模块定义文件:
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
(4)编辑模块定义文件,在sqlite3.def文件后添加 sqlite3_unlock_notify:
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
(5)生成Release静态库:
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
可以在项目目录中看到已经生成了lib静态库:
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
(6)拷贝文件至指定目录:在sqlite的成品目录下新建bin, lib, include三个目录,bin目录放入解压的exe可执行文件,include目录中放入.h头文件,lib目录中放入上一步生成的lib库文件:
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++

Step.3 编译libtiff

(1)将之前下载的libtiff源码包解压
(2)打开CMake,输入源码目录和build目录(libtiff源码目录下的build目录),点击Configure按钮。
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
(3)配置vs的版本和生成的平台,配置好之后点击Finish,然后点击主界面的Configure:
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
(4)输出框打印了Configuring done即说明配置成功了,可以修改安装libtiff的路径,搜索框中搜索“CMAKE_INSTALL_PREFIX”,设置安装路径,之后点击Generate生成文件:
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
生成成功打印“Generating done”,这时可以在build目录中看到生成了vs的项目文件,点击“Open Project”按钮打开文件:
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
(5)在VS中设置生成Release版本及平台(和之前的sqlite保持一致,后面的编译过程也是如此),生成ALL_BUILD和INSTALL两个项目,生成成功后在之前CMAKE设置的“CMAKE_INSTALL_PREFIX”路径下可以看到生成的文件。
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++

Step.4 编译proj

(1)将下载的proj源码包解压,打开CMake,选择源码目录和build目录(在proj源码目录下新建build目录),设置完成后点击Configure按钮,设置vs版本和生成的平台:
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
(2)生成过程中会报错,查看日志是因为没有找到sqlite3,这里搜索SQLITE3配置项,设置sqlite3的include目录、lib文件和可执行文件,顺便再把生成目标文件的目录一并设置了,设置好之后再次点击Configure:
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
(3)配置后还是报错,查看日志发现找不到TIFF,这里参考上一个步骤的方法搜索TIFF相关的配置,配置libtiff的include目录和lib路径,配置后再次Configure:
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
(4)配置完成后还是报错,日志中打印缺少Curl,这里可以取消ENABLE_CURL的勾选使其不依赖curl,再次Configure。另外,如果本地访问不了github的话会报拉取代码失败的错误,这时可以取消BUILD_TESTING选项的勾选。
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
(5)还是报错“projsync requires Curl”,因为我们没有编译Curl,而projsync依赖Curl,自然配置projsync也就失败了,这里可以去掉BUILD_PROJSYNC的选项
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
(6)打印Configuring done即说明配置完成,再点击Generate按钮生成项目文件,打印“Generating done”即说明生成成功:
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
(7)点击打开项目按钮,在vs中设置生成Release版本,选择正确的平台,生成ALL_BUILD和INSTALL两个项目,生成成功后在之前设置的“CMAKE_INSTALL_PREFIX”路径下生成了PROJ相关的文件:

【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
至此,编译proj的前序工作就完成了,下面就可以开始编译gdal了。

[TIPS] CMake输入参数时建议不要直接复制到文本框,最好使用选择目录活文件的方式填入,编译proj的时候由于CMake配置目录的斜杠与反斜杠问题导致一个模块编译失败,定位了很久。

Step.5 编译gdal

(1)解压下载的gdal源码包,在解压后gdal的跟路径下创建build目录用于存放CMake生成的临时文件。打开CMake,选择源码目录和build目录。
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
(2)点击Configure,设置平台类型和vs的版本后进行配置,发现报找不到PROJ的错误,配置proj的路径和生成二进制的路径,再点击配置。
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
(3)稍等片刻后会出现Configuring done,这里一定要注意,虽然Configure完成了,但是我们并没有配置tiff和sqlite的依赖,后面在编译和开发的时候大概率会有问题,所以这里把sqlite和tiff的路径给配置上,当然,这里有很多其他的配置项,后面有时间研究一下对应的功能。
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
(4)配置完之后点击Generate生成项目文件,然后点击打开项目按钮。
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
(5)在vs中设置生成Release版本和平台类型,依次生成ALL_BUILD和INSTALL两个项目,生成成功后可以看到目标路径下生成了编译好的二进制文件和一些数据文件。
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++

Step.6 环境验证

通过以上步骤在本地已经配置好了gdal,现在在vs中新建一个c++项目来简单验证一下可用性,这个代码的功能也很简单,就是先注册gdal然后加载一副图像,如果正常执行就说明配置正确。

#include <iostream>
#include <gdal.h>
#include <gdal_priv.h>
using namespace std;

int main() {
	GDALDataset* poDataset;
	GDALAllRegister();
	poDataset = (GDALDataset*)GDALOpen("pic.tif", GA_ReadOnly);
	if (poDataset == NULL)
	{
		cout << "GDAL Configure OK";
	}
	return 0;
}

在执行前还需要配置下头文件和库的目录,在项目的属性中分别配置编译gdal生成的include目录,lib目录和lib文件路径:
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
这样配置后还没完,因为依赖了一些资源文件,所以需要把依赖的资源文件添加到项目中。在解决方案管理器中添加gdal.dll,proj_9_3.dll,tiff.dll三个资源文件,每个资源文件右键设置属性,设置类型为复制文件。
【GDAL】Windows下VS+GDAL开发环境搭建,GDAL,GIS,GDAL,c++
至此,gdal的开发环境搭建就ok了,就可以进行基于gdal的一些开发了,ENJOY!!!文章来源地址https://www.toymoban.com/news/detail-787064.html

到了这里,关于【GDAL】Windows下VS+GDAL开发环境搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • VS下开发Qt应用环境搭建

    vs2019 QT5.14 我之前是按照QT基础组件的安装,但是这个安装只是最基础的组件,如果想要在VS中使用QT,还得安装其他组件,下面的安装流程、 我之前已经安装了QT,现在需要新增套件 Qt安装完毕后,如何再添加移除组件 运行MaintenanceTool.exe QT 此操作至少需要一个处于启用状态

    2024年02月14日
    浏览(48)
  • 【vs code】|——rust开发环境搭建

    vscode下搭建 rust 语言开发环境 参考官方安装教程:https://www.rust-lang.org/tools/install 我们通过快速方式 rustup安装 Tips: rust依赖C/C++环境 在安装rust前需要先安装C/C++编译环境 有两种: 1、msvc Visual Studio使用的是msvc 这个安装rust一路默认即可 2、mingw 大家自行安装下C/C++环境哦 这里介

    2024年02月08日
    浏览(56)
  • VS 远程开发调试环境搭建 简明教程

    在windows上应用程序的开发过程中,总会遇到这样的使用场景,需要在开发机上远程到应用程序的宿主机(常常是以产品形式外发的机台),这时候需要快速搭建简易的远程开发环境。以下几个步骤可以快速帮到你: 1.1 拷贝VS远程调试工具到宿主机 for example: 开发机环境 vs

    2024年02月15日
    浏览(49)
  • 音视频开发十七:Windows VS 2022 环境配置SDL2开发环境

    SDL(Simple DirectMedia Layer)是 一套开放源代码的跨平台多媒体开发库 , 使用C语言写成 。能够提供视频渲染,音频播放,鼠标/键盘控制等操作。 跨平台是说它对外接供了一套统一的接口,但在内部, 它会根据不同平台调用不同的底层 API库 。如在 Linux 系统下,它会使用 ope

    2024年02月10日
    浏览(50)
  • windows系统用VS环境开发linux程序之一

    主要有两种方法,一种是在windows中安装linux子系统,即WSL,另一种是windows系统装linux虚拟机。 这里先用虚拟机方法。参考文章: 用VS2015开发Linux程序详细教程-配置篇_vs2015可以在linux安装吗-CSDN博客 这篇基本就够了。不过一般VS建立工程和设置可能不太一样。正常是先建立li

    2024年02月21日
    浏览(35)
  • Nordic nRF开发环境搭建之VS Code

    环境说明 电脑系统 Windows 11 IDE VSCode + nRF插件 SDK NCS Board nRF52833DK 本文以nRF52833DK开发板为例,用VSCode使用NCS搭建开发环境。 以下是使用VSCode和NCS搭建nRF52833DK开发环境的基本步骤: 安装VSCode:从官网下载并安装VSCode。 安装Nordic nRF Command Line Tools:下载并安装最新版本的Nordic

    2024年02月16日
    浏览(50)
  • VS Code上搭建Vue开发环境超详细教程

    这篇关于在Visual Studio Code上搭建vue开发环境的超详细教程手把手教会你! 首先在Visual Studio Code上搭建vue开发环境有几个步骤: 1、下载安装node.js 2、安装npm 3、安装cnpm 4、安装vue/cli脚手架 5、创建vue项目  6、运行vue项目   1.下载安装node.js 地址:node.js官网下载 打开 Visual Stud

    2024年02月05日
    浏览(59)
  • VS2019搭建QT6.4开发环境【多图警告^-^】

    安装很简单,这里就不再赘述。 附上VS下载地址:Visual Studio 全家桶 这里就不绕弯子,先说明从5.15版本开始,qt需要下载在线下载器安装。 ** QT下载地址** ; 推荐使用网易邮箱或者QQ邮箱注册,因为会有回执确认操作。 勾选第二条,不要发送信息: 重点选择两个MSVC和MinGW:

    2024年02月04日
    浏览(69)
  • 如何在VS Code上搭建 C/C++开发环境

    顾得泉: 个人主页 个人专栏: 《Linux操作系统》 《C++从入门到精通》  《LeedCode刷题》 键盘敲烂,年薪百万!        VScode(Visual Studio Code)是一款由微软开发的免费开源的轻量级代码 编辑器 。它支持多种编程语言,并提供了丰富的功能和插件扩展,使开发者能够更高

    2024年03月28日
    浏览(60)
  • 51单片机开发环境搭建 - VS Code 从编写到烧录

    我安装并测试成功的环境: 操作系统:Windows 10 (22H2) 单片机:STC89C52RC Python version: 3.7.6 在这之前,给51单片机写程序是用 Keil 5(编写+编译)、STC-ISP(烧录),由于切换应用比较麻烦,并且不够美观,所以尝试使用熟悉的 Visual Studio Code 来完成这些操作。 stcgal 是用来向STC单片

    2023年04月24日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包