Visual Studio 2019 (vs2019) C++ 环境配置GDAL

在vs2019中配置、编译C++ 环境下GDAL库时,需要安装对应环境库:SQLite,PROJ,TIFF以及CURL工具。

GDAL库是一个非常方便的地理数据处理库,但其在C++ 环境下的配置与编译流程较为复杂。

版本选择:GDAL-3.5.2,PROJ-9.1.0,SQLite-3.44.2,tiff-4.6.0,curl-8.4.0_6-x86以及跨平台编译工具CMake-3.28.0。

编译结果:x86-release

文末有最终配置结果

1. SQLite (Win11+VS2019)

进入官网,下载相应版本 解压后,将5个文件都放到一个指定的文件夹下,将该文件夹的路径添加到系统环境变量中,即可通过cmd使用,目的是为了便于通过命令行的方式使用。 操作方法:右键我的电脑-属性-高级系统设置-环境变量,在系统环境变量中找到“Path”,选中“Path”,编辑,新建,将刚才的文件夹路径加入,例如:“C:\gdal-3.5.2\SQLite-3.44.2”。打开cmd,输入sqlite3,如果显示版本号等信息,即表示成功。 【sqlite3.exe是 SQLite 的交互式命令行工具,它允许用户与 SQLite 数据库进行交互、执行 SQL 查询、管理数据库和表,以及进行各种数据库操作。 【生成sqlite3.lib】 将文件sqlite-amalgamation-3450100.zip、sqlite-dll-win-x86-3450100.zip、sqlite-tools-win-x64-3450100.zip文件置于同意文件夹下: 打开x86 Native Tools Command Prompt fo VS 2019,切换路径 cd C:\third-lib\SQLite\x86,并执行指令lib /def:sqlite3.def /machine:ix86,生成sqlite3.lib。(x64的话打开对应的命令行窗口并执行生成x64 lib的指令:lib /def:sqlite3.def /machine:X64)

详细介绍:sqlite3.exe 是一个命令行界面的工具,它允许用户打开 SQLite 数据库文件,并在命令行中执行 SQL 语句。可以使用它来创建数据库、创建表、插入数据、查询数据、更新数据、删除数据等等。它对于开发、测试和调试 SQLite 数据库非常有用,也可以用于执行数据库备份和还原操作。可以通过在命令行中运行 sqlite3.exe 并指定数据库文件来启动它,然后在交互式命令行中输入 SQL 命令。

sqldiff.exe 是 SQLite 的数据库比较工具,用于比较两个 SQLite 数据库文件之间的结构和数据差异。 详细介绍:sqldiff.exe 用于比较两个 SQLite 数据库文件,查找它们之间的差异,包括数据库结构(例如,表、列、索引等)和数据。这对于在不同环境中同步数据库、检测更改或合并数据库非常有用。sqldiff.exe 生成一个 SQL 脚本,该脚本包含将一个数据库变更为另一个数据库的命令。可以使用该脚本来将一个数据库的更改应用到另一个数据库。 sqlite3_analyzer.exe是 SQLite 的数据库性能分析工具,用于分析 SQLite 数据库文件的性能和结构。 详细介绍:sqlite3_analyzer.exe 可用于检查 SQLite 数据库文件的结构和性能特征。它可以生成详细的报告,包括数据库的 B 树索引结构、页面使用情况、表的大小等等。这些信息对于优化数据库查询和性能调整非常有用。另外还可以用于评估数据库文件的大小和性能,以便在需要时采取相应的措施来改进数据库的性能。】 参考链接: https://blog.csdn.net/qq_62888264/article/details/132551224 https://blog.csdn.net/weixin_43729127/article/details/132724907

2.TIFF-4.6.0 下载TIFF库与Cmake Cmake安装比较简单 此处下载的是精简版,解压后 执行bin文件里面的 cmake-gui.exe 即可用于编译了

根据个人需要进行版本设置

点击Configure 和 Generate 生成vs项目文件即可 编译TIFF(VS2019) 以管理员身份打开Visual Studio 2019 打开项目解决方案 设置编译版本,进需要编译"ALL_BUILD"和"INSTALL",编译结果如果所示,编辑结果,如图所示C:/Program Files (x86)/tiff

参考链接:https://blog.csdn.net/oFengtingwano/article/details/130742086

3. Curl工具 curl是利用URL语法在命令行方式下工作的开源文件传输工具。它被广泛应用在Unix、多种Linux发行版中,并且有DOS和Win32、Win64下的移植版本。 • 找到官网windows 资源下载,点击红色标记部分。 • 根据需要选择x86 or x64,此处选择curl 8.4.0 for Windows win32 配置环境变量: 进入系统变量,新建CURL_HOME,路径选择解压包所在的路径,然后确定。 测试:curl --version

4. PROJ

PROJ库是一个地理坐标转换库,用以处理不同的地理坐标数据。

【Note】编译环境 首先,我们在PROJ库的官方下载网站中下载其源代码。 解压后 CMake软件,并在下图所示的两个编辑栏中,分别选定解压后的PROJ库文件夹与我们刚刚在其中新建的build文件夹;随后,点击“Configue”。 在弹出的窗口中配置我们的Visual Studio软件版本,并在第二个选项中选择处理器的架构,一般选择x86即可 Configure

Generate

Open Project VS2019项目编译 打包编译成功的库 (1)打包头文件至./proj-9.1.0/include ..\proj-9.1.0\src\*.h + .\proj-9.1.0\include\*.h

(2)打包静态库 ./proj-9.1.0/lib .\proj-9.1.0-build\lib\release\proj.lib

(3)打包动态库./proj-9.1.0/bin 注:这里文件的移动还需要将后面的文件名中的版本信息给删去,方便后面调用。 .\proj-9.1.0\lib\release\proj.dll

【Error】 CMake进行Configure时,有报错信息,如下:原因由于没有对PROJ编译时的依赖库进行配置 sqlite、tiff和curl 依赖库配置后

5. gdal-3.5.2 GDAL官网对应版本下载

下载解压

CMake编译 Configure时,根据报错信息进行依赖库文件路径配置 配置依赖库PROJ库路径 然后就是Open Project ->在vs2019环境下编译项目

头文件目录:将以6个头文件进行合并 动态库文件和静态库文件: 最终结果

【测试】:报错 处理:配置proj.db文件路径:

std::string path = "C:\\gdal-3.5.2\\proj-9.1.0\\build\\data";

const char* proj_path[] = { path.c_str(), nullptr };

OSRSetPROJSearchPaths(proj_path);

相关文章

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。