win10 + vs2017 + gdal2.0.3 编译
最佳答案 问答题库548位专家为你答疑解惑
1. 下载并解压gdal2.0.3
我的放置目录是:D:\Depend_3rd_party\gdal2\gdal-2.0.3,其中gdal-2.0.3是解压得到的文件夹
2. 修改 nmake.opt 文件
用notepad++打开nmake.opt文件,修改以下三个部分:
(1)修改C++ compiler的版本
如果是vs2017,则设置为1910, vs2015则设置为1900,本次安装MSVC_VER=1910。(在第46行)
(2)修改GDAL库安装路径。
在gdal-2.0.3文件夹旁边新建一个名为install的文件夹,全局路径为:D:\Depend_3rd_party\gdal2\install。设置所以GDAL_HOME = “D:\Depend_3rd_party\gdal2\install”。
新建的install文件夹:
修改nmake.opt的位置(第62行):
(3)打开win64选项(可以选择)
即将“#WIN64=YES”修改为“WIN64=YES”,如下图所示(在第172行): 在其他版本中,这个选项可以在命令行中进行设置。
(4)修改PROJ_INCLUDE 和 PROJ_LIBRARY路径
根据博客[2],GDAL3.0以上版本必须依赖于PROJ库(6.0以上版本),否则会在用GDAL进行坐标转换时报错。
这里是GDAL2.0.3,可能不需要,在使用GDAL时会不会报错也尚以防未来会用到,这里把这个修改条目加进来了。 在467行左右。
根据提示,可以在这里添加PROJ的静态链接,也可以在运行的时候以动态链接的形式添加。我这里暂时先没有添加。有需要的时候再添加,并回来修改。
3. 编译GDAL
(1) 打开VS2017的命令行窗口
要选择指定的这个“适用于VS2017的x64本机工具命令提示”。
转到解压了gdal2.3.1的文件夹中,
(2)输入nmake编译命令。
以下两种模式二选一:
1)编译debug版本
依次执行以下三行命令(需要全部执行才能编译完全)
nmake /f makefile.vc MSVC_VER=1910 WIN64=YES DEBUG=TRUE
nmake /f makefile.vc install MSVC_VER=1910 WIN64=YES DEBUG=TRUE
nmake /f makefile.vc devinstall MSVC_VER=1910 WIN64=YES DEBUG=TRUE
2)编译release版本
依次执行以下三行命令(需要全部执行才能编译完全)
nmake /f makefile.vc MSVC_VER=1910 WIN64=YES RELEASE=TRUE
nmake /f makefile.vc install MSVC_VER=1910 WIN64=YES RELEASE=TRUE
nmake /f makefile.vc devinstall MSVC_VER=1910 WIN64=YES RELEASE=TRUE
注:上面的步骤2已经修改了 MSVC_VER 和 WIN64 两个参数,为了保险起见,此处输入的指令还是添加了“MSVC_VER=1910 WIN64=YES”两个参数。
(3)编译完成
install文件夹内的情况如下:
参考:
[1] WIN10系统下GDAL(2.3.1)的安装及VS2017中GDAL的配置_gdal203.dll-CSDN博客
[2] 基于VS2017编译配置GDAL教程_vs2017配置gdallibrary库_Chaoying.的博客-CSDN博客
99%的人还看了
相似问题
- flink1.13.6版本的应用程序(maven版)
- 技术分享| gcc版本升级到5.2
- 基于 Glibc 版本升级的 DolphinDB 数据查询性能优化实践
- 解决requests 2.28.x版本SSL错误:证书验证失败
- UE5和UE4版本更新重大改变汇总。
- Docker build报错总结,版本过新大避雷!
- K8S1.23.5部署(此前1.17版本步骤囊括)及问题记录
- Mongodb3.4升级高版本mongoTemplate.executeCommand报错The cursor option is required
- onnx模型转换opset版本和固定动态输入尺寸
- centos安装指定版本docker
猜你感兴趣
版权申明
本文"win10 + vs2017 + gdal2.0.3 编译":http://eshow365.cn/6-30747-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: C++和 C 混合编程处理
- 下一篇: 数据分析和用户个性化体验:开发同城外卖APP的技术解决方案