概要
为开发基于c++的QT软件,需要读取TIFF文件内容,特引入gdal库,使用MSVC2017编译x64遇到问题"“模块计算机类型“x64”与目标计算机类型“X86”冲突",暂用32位代替,后找到问题所在,成功编译64位。
正确编译流程
这个很多前辈写过了,我重复一遍
1 下载gdal2源码,网址为https://trac.osgeo.org/gdal/wiki/DownloadSource
2 确认自己有visual studio2017的开发工具或是IDE,下载地址
https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/
3 修改opt文件,主要包含三个部分
(1)
修改 GDAL_HOME = “D:\VS_work\gdal” #就是你希望编辑结果保持的位置
(2)
把 WIN64=YES 的注释取消
(3)
修改 MSVC_VER=1910 #1910对应MSVC2017
4 找到MSVC的X64工具
我电脑上快捷方式地址为:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual Studio 2017\Visual Studio Tools\VC
一般在搜索栏也能找到,名称可能为中文或英文:
5 打开该工具进行Nmake,指令如下
D:
cd D:\VS_work\gdal242\gdal-2.4.2
nmake -f makefile.vc
nmake /f makefile.vc install
nmake /f makefile.vc devinstall
注:前两步为切换到gdal源码位置,根据你下载位置的不同灵活调整即可。
x64编译问题所在
提示:这里可以添加技术名词解释
不卖关子,出现"“模块计算机类型“x64”与目标计算机类型“X86”冲突"报错的核心问题在于第一遍流程不正确,例如打开了x86(也就是32位)的编译工具,或是没有合理修改opt文件,就直接进行了nmake,发现不对后才开始调整。
这就导致后续正确流程make时,已经生成的x86文件使得nmake无法进行下去,此时删除解压的gdal源码,重新解压,按照正确流程进行即可。
生成结果
提示:这里可以添加技术名词解释
注:文件夹名称是后来改的,原名与GDAL_HOME的值一致。
小结
提示:这里可以添加总结
也许有nmake指令可以清除已生成的文件,但对于大部分人来说删除重新解压源码更加便捷。
免积分资源正在上传,标题为“GDAL2.4.2,MSVC2017,X64编译”。