Qt64位与gdal整合
博主在做64位Qt和gdal的整合时遇到了很多问题,所以写下这篇博客记录一下问题。这里需要说明的就是如果gdal的位数和qt位数不对的话,在引用gdal的时候会出现LINK2019 无法解析的外部符号错误。
1.gdal编译
博主参考的编译32位gdal教程地址:gdal编译和vs配置教程
2.与64位的Qt整合
上一篇教程有关32位的编译方法,我试了一下确实可行。但是博主在编译64位gdal时却遇到了模块计算机类型“X86”与目标计算机类型“X64”冲突这个问题,就算是设置了nmake.opt中win64=yes和使用vs的64位命令提示符还是会出现这个错误。
于是我找到了下面这篇博客中写到如何构建vs的解决方案来编译gdal。不过博主按照这篇博客中写到的构建好vs的工程,并创建了main.cpp,但还是报错了,于是博主删掉了创建的main.cpp,然后直接编译,这次就提示我编译器的版本不对(那篇博客里面使用的是vs2013而博主在这里使用的是vs2012,虽然我在输入的命令是:generate_vcxproj.bat 12.0 64 gdal_vs2012 ,但还是提示我编译器版本不对)。
不过我在构建完这个vs项目后,再使用了vs的64位命令提示符进行编译,这一次就没有出现模块计算机类型“X86”与目标计算机类型“X64”冲突这个错误,就成功编译好了。