文章目录

  • 前言
  • 一、用vs编译GDAL
  • 二、.dll文件转.a文件
  • 三、生成的.a文件放入wingw64安装目录的lib下
  • 四、修改CMakeLists.txt文件
  • 五、运行代码
  • 参考

前言

最近开始做毕业设计,需要用到gdal来实现功能,而且还得用c++写代码,就不得不自己下载gdal来编译,而且我还是个jetbrains粉,习惯了clion的操作就想用clion开发,但是网上没有找到如何用clion搭建环境,所以我想把自己的辛酸过程记录下来


以下是本篇文章正文内容,下面案例可供参考

一、用vs编译GDAL

本人使用mingw64编译过gdal,出现了很多bug,不太合适新手操作,这里使用一个比较简单的办法,先使用vs编译gdal,具体参考https://blog.csdn.net/qq_32153213/article/details/81363588的前面五个步骤,编译好就行。如果没有装vs可以喊你的小伙伴帮忙编译。然后把编译好的.dll文件使用mingw64自带的dlltool转成.a即可

二、.dll文件转.a文件

编译好的gdal文件夹中有gdal204.dll文件,单独复制一份,重命名为libgdal.dll,然后打开终端

gendef libgdal.dll
dlltool -d libgdal.def -D libgdal.dll -l libgdal.a -k

第一条命令会生成一个libmysql.def文件供第二条命令使用。
第二条命令使用前面生成的def文件以及dll文件生成.a文件并把导出名称中的@N去掉。

三、生成的.a文件放入wingw64安装目录的lib下

四、修改CMakeLists.txt文件

这是我的,仅供参考

#设置cmake版本
cmake_minimum_required(VERSION 3.16)
#项目名字
project(GraduationProject)
#设置编译版本
set(CMAKE_CXX_STANDARD 11)
#引入头文件
include_directories(E:\\MyDataFiles\\gdal244\\include)
#引入库文件
link_directories(E:\\MyDataFiles\\gdal244\\lib)
#编译文件
add_executable(GraduationProject main.cpp)
#将第三方库连接在一起
target_link_libraries(GraduationProject libgdal.a)

五、运行代码

#include "gdal_priv.h"
#include <iostream>
int main() {GDALAllRegister();GDALDestroyDriverManager();cout << "success" << endl;
}

发现出现如下错误:

只需要修改一下运行配置就行:


再次运行就能正常运行了

参考

https://my.oschina.net/u/4256916/blog/3311766
https://blog.csdn.net/weixin_40448140/article/details/104720134
https://blog.csdn.net/witton/article/details/108146853?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-9&spm=1001.2101.3001.4242

clion中使用gdal的辛酸历程相关推荐

  1. Ruby的辛酸历程【一】

    链接地址:http://mislav.uniqpath.com/poignant-guide/book/chapter-2.html 第二章:Kon'nichi wa, 红宝石 第一节:开启本书 假装 ...

  2. CLion 中使用 C++ 版本的 OpenCV

    配置环境: Windows 10 CLion 2020 OpenCV 3.4.1 MinGW-w64 1. 下载 CLion 并配置好 MinGW CLion 下载地址:https://www.jet ...

  3. 如何在Clion中使用C++调用Python代码

    在很多时候,我们需要在一个c++工程项目中调用部分Python代码,这就需要我们实现Python和C++之间的交互.交互方式有两种:1. 依靠 TCP 建立的网络通信交互:2. 嵌入式混合语言编程(E ...

  4. 『飞秋』在.NET 4中调用GDAL库时遇到的问题及解决方法

    『飞秋』在.NET 4中调用GDAL库时遇到的问题及解决方法 最近需要在.NET 4的环境中调用GDAL库.GDAL本身是一套非托管类库,不过还好提供了用SWIG做的托管的Wrapper. 可以在FW ...

  5. CLion 中使用 clang-format

    Clion 中开启 clang-format Preferences -> Editor -> Code Style -> "Enable ClangFormat" ...

  6. clion中自定义消息msg消息时定义的msg文件有类型提示

    clion中自定义消息msg消息时定义的msg文件有类型提示 Ros Support 插件安装

  7. Python中安装GDAL

    Python中安装GDAL 1. 安装步骤 1.1 方法1 1.2 方法2 2. 测试 3. 参考 1. 安装步骤 方法1更简单,但是也可能出现较多问题,方法2更直观一次成功. 1.1 方法1 步骤1 ...

  8. 在windows系统中使用GDAL

    在windows系统中使用GDAL 啥是GDAL windows 安装GDAL osgeo4w 安装 osgeo4w 使用.py指令 python GDAL库安装 参考 啥是GDAL GDAL 官网 ...

  9. Mac系统CLion中C语言EOF如何结束输入(楼主亲测有效)

    今日发现在mac系统CLion中C语言EOF没有办法结束输入 如下代码,我写了一个C语言程序,以EOF结束 #include <stdio.h>int main() {char c;int ...

最新文章

  1. 结构体在多线程中用法
  2. Win10系列:JavaScript图形
  3. oracle rac添加监听,【学习笔记】Oracle 10G RAC增加节点时手动注册监听服务的案例步骤...
  4. python abs()函数是什么意思?
  5. 65.Java语法糖
  6. Vue 适配移动端 使用 postcss-pxtorem lib-flexible 插件 转px为vw rem
  7. Leetcode 260. 只出现一次的数字 III
  8. 中国企业500强完整榜单,请为自己和孩子收藏
  9. Bailian2721 忽略大小写比较字符串大小(POJ NOI0107-16)【字符串】
  10. zabbix详解(十五)——zabbix proxy配置实战
  11. 三张图看懂 clientheight、offsetheight、scrollheight
  12. UBNT设置AP模式注意事项
  13. 【PC工具】更新U盘SD卡测试工具,速度测试,坏块测试查找
  14. ncl butterworth滤波官网例子学习
  15. [知识普及]世界知名洋酒
  16. ‘java‘ 不是内部或外部命令,也不是可运行的程序
  17. 世上根本没有什么感同身受,只有冷暖自知
  18. 用C#实现查询今天是什么节日的方法
  19. 西电和北邮计算机考研难度,电子科技专业考研,选择北邮还是西电,两所高校优势如何?...
  20. 学雷锋纪念日——擦亮梨城

热门文章

  1. 网址链接生成美丽的二维码
  2. 计算机指令集_计算机科学组织| 指令集及其类型
  3. Hadoop在浏览器中Browse Directory,无法下载文件的解决方法
  4. Java修饰符和关键字
  5. 初探mapbox地图可视化实例,带你看看家附近有多少咖啡馆
  6. mapbox地图的使用方法
  7. 私人定制AI绘画——快速finetune stable diffusion教程
  8. 这几个可以循环播放的录音机软件安利给大家
  9. C语言 扫雷(含递归展开)
  10. 解决谷歌访问本地文件和跨域问题