网上的教程默认进行会是32会的库,完全没法用,会报错,要用vs2010自带的x64的编译器才行。。。
https://www.cnblogs.com/litengyao/p/5150272.html
https://blog.youkuaiyun.com/u011574296/article/details/76565703
http://download.osgeo.org/gdal/
在gdal-2.0.1/make.opt中作如下修改:
解压后的文件中应该有一个nmake.opt文件,在编译之前需要修改nmake.opt中的一些配置。
1、 GDAL_HOME = “C:\warmerda\bld”,编译后的生成的头文件、静态库、动态库将会存储到这个路径。我在D盘新建了文件夹gdal2.21,然后修成了D:\gdal2.21。
2、”#WIN64=YES”,编译64位GDAL时,要删除前面的#。
3.把这段内容
!IFDEF ODBC_SUPPORTED
ODBCLIB = odbc32.lib odbccp32.lib user32.lib
!ENDIF
替换成:
!IFDEF ODBC_SUPPORTED
!IF $(MSVC_VER) >= 1900
# legacy_stdio_definitions.lib : https://connect.microsoft.com/VisualStudio/feedback/details/1134693/vs-2015-ctp-5-c-vsnwprintf-s-and-other-functions-are-not-exported-in-appcrt140-dll-breaking-linkage-of-static-libraries
ODBCLIB = legacy_stdio_definitions.lib odbc32.lib odbccp32.lib user32.lib
!ELSE
ODBCLIB = odbc32.lib odbccp32.lib user32.lib
!ENDIF
!ENDIF
从开始目录,打开vs2010的64位编译器,
nmake -f makefile.vc nmake /f makefile.vc install nmake /f makefile.vc devinstal 第一个命令是编译GDAL 第二个、第三个命令是将生成的头文件、静态库、动态库复制到GDAL_HOME目录。 如果需要编译debug模式,就将第一个命令改成nmake -f makefile.vc DEBUG=1
1、配置环境变量
计算机->属性->高级系统设置->环境变量->编辑 path
添加:D:\gdal2.21\bin
这一步可以替换成:把D:\gdal2.21\bin文件中的dll文件,复制到项目下的exe类型的文件目录中,将工程拷贝到其他电脑时,就更不需要配置那个电脑的环境变量了。