Windows10 + VS2015 环境下对gdal2.0.1进行64bit编译小结

这是官方给出的编译指导,但是在实践过程中有几点仍然需要特别注意。

Tip 1:不要使用默认的"VS开发人员命令提示"工具,使用该工具会遭遇如下的错误:

正在创建库 gdal_i.lib 和对象 gdal_i.exp
INK : error LNK2001: 无法解析的外部符号 OGRFeatureStylePuller
INK : error LNK2001: 无法解析的外部符号 OSRValidate
INK : error LNK2001: 无法解析的外部符号 OPTGetProjectionMethods
INK : error LNK2001: 无法解析的外部符号 OGR_G_GetPointCount
INK : error LNK2001: 无法解析的外部符号 OGRRegisterAll
INK : error LNK2001: 无法解析的外部符号 GDALSimpleImageWarp
INK : error LNK2001: 无法解析的外部符号 GDALReprojectImage
INK : error LNK2001: 无法解析的外部符号 GDALComputeMedianCutPCT
INK : error LNK2001: 无法解析的外部符号 GDALDitherRGB2PCT
INK : error LNK2001: 无法解析的外部符号 OCTNewCoordinateTransformation

这是由于x64设置不当引起的,解决方法是使用VS2015 x64 本机命令提示符工具,如下:

这样问题就可以迎刃而解。

Tip 2: 使用VS2015编译会出现如下错误

Creating library gdal_i.lib and object gdal_i.exp

odbccp32.lib(dllload.obj) : error LNK2019: unresolved external symbol _vsnwprintf_s referenced in function StringCchPrintfW

gdal201.dll : fatal error LNK1120: 1 unresolved externals

NMAKE : fatal error U1077: ‘"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\amd64\link.EXE"‘ : return code ‘0x460‘

Stop.

解决方案:(感谢:http://blog.csdn.net/piaoyidage/article/details/50426434)

在gdal-2.0.1/make.opt中作如下修改:

把这段内容

!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

为题得以解决。

时间: 2024-10-10 16:09:06

Windows10 + VS2015 环境下对gdal2.0.1进行64bit编译小结的相关文章

全开源深度学习平台PaddlePaddle入手之路(二)----利用Docker在Windows10专业版环境下配置PaddlePaddle

利用Docker在Windows10专业版环境下配置PaddlePaddle 对于PaddlePaddle的安装,查询官网信息,PaddlePaddle提供pip安装和Docker安装运行的使用方式.我们已经了解到Docker在避免环境配置难题上的的巨大优势,加上本人用的是Windows10操作系统,目前官方对于win10版本给出独特的支持,因而选择了在Docker中安装PaddlePaddle. (1)安装docker 在安装Docker前,切记在Windows中打开Hyper-V管理器中(截

max环境下cocos2d-x 3.0的环境搭建

一开始始终找不到网上说得create_project.py,所以网上通过这个的方法行不通. 所以就找了点关于3.0的资料,貌似在3.0正式版里是通过**/cocos2d-x-3.0/tools/cocos2d-console/bin/cocos.py来创建工程的. 不过3.0正式版要先搞定环境变量.. 1. 打开 ~/.bash_profile ,添加以下信息(具体为什么叫这些没搞明白,回头可以试试不叫这些名字) export COCOS2DX_ROOT=/Users/*/Sites/cocos

[VS2015].NET4.0环境下使用.NET2.0程序集,使用sqlite时报异常 出现“混合模式程序集异常”

在.net 4.0环境下使用sqlite时报异常 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集其调用的方法是从sqlite数据库中获取原来已经使用过的数据库连接,当时也没注意,就是准备设断点然后单步调试,结果竟然是断点无法进入方法体内,后来仔细看了一下方法体的时候发现了一个问题,就是现有的System.Data.Sqlite这个数据访问provider是针对.NET2.0环境开发(最新的版本是1.0.66.0,20

ubuntu14.04环境下hadoop2.7.0配置+在windows下远程eclipse和hdfs的调用

本教程是在三台电脑上部署的hadoop正式环境,没有建立用户组,而是在当前用户下直接进行集群的部署的,总结如下: 1.三个节点的主机电脑名为:192.168.11.33 Master,192.168.11.24 Slaver2,192.168.11.4 Slaver1,并且这三台主机用户名都要设置一样,我的都是hadoop的用户. 因为本教程使用的是vim编辑器,如果没有vim可以下载一个:sudo apt-get install vim 2.修改hosts文件:切换到root用户下:sudo 

windows环境下10.2.0.1到11gr2 迁移升级

windows 环境下 10g 数据库到11g 数据库迁移 一.10g 环境做好迁移准备 在数据库中创建test表,并插入一条数据以便确认迁移是否成功 SQL> create table test(id number,name varchar(20)); SQL> insert into test(id,name) values(1,'test' 由于10.2.0.1版本不能直接升级到11gr2,所以需要先将源数据库升级为10.2.0.2 登陆rman C:\Documentsand Sett

Android/NDK环境下FFmpeg及AAC,MP3,X264的编译

本篇介绍在Android/Ndk环境下FFmpeg的编译及使用, FFmpeg自带了H264.AAC.MP3的解码器,但却没有(或没有好的)相应的编码器.相应的编码器需要使用第三方库.推荐使用的第三方库为x264(H264编码) .FDK_AAC(AAC编码),lame(MP3编码). 在顺序上,应该先编译好第三方库,最后再编译FFmpeg库. [本书说明:本文作者:邵发,本文选自<FFmpeg视音频编程指南>.有关本书的详细信息请访问官网:http://www.afanihao.cn ] [

记录一次基于LNMP环境下的Zabbix3.0部署

前言: 公司现需要部署一个Zabbix来监控线上环境,但是线上服务器资源有限,无法部署到其中任意一台.那怎么办呢?于是查阅一番资料,获取解决思路: 1.线下环境使用一台服务器做为Zabbix Server,线上环境任意一台搭建VPN,将所有服务器连接到一起,组成一个安全的局域网环境. 2.线下环境使用一台服务器作为Zabbix Server,使用路由做端口映射,将内网Zabbix Server的10050-10051端口映射出去. 一番比较下,各方面表明:使用第二个思路是最符合实际的.下面是部署

vs2015环境下cmake成功后打开opencv.sln

实现opencv.sln进行"重新生成解决方案" 出现一个这样的错误: 根据路径可以看出: 需要将cmake中下载的download文件夹下的内容考出来: download文件夹下的内容考出来如下: 再重新进行"重新生成解决方案"

Qt5.7+VS2015环境下使用QtCreator编译QtAV视频库

1.QtAV是一个跨平台的开源视频库,使用了ffmpeg核心,https://github.com/wang-bin/QtAV 2.安装好Qt,同步QtAV视频库,在github主页下载相应的依赖库(我使用了QtAV-depends-windows-x86+x64.7z) 3.在QT配置页面,构建选项卡,构建环境里,分别为include和lib变量添加头文件和运行库文件路径,如下 4.在运行选项卡将ffmpeg的bin和lib目录添加PATH变量 5.点击构建