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

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

为题得以解决。

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

  1. 在win7-64bit环境下,boa-constructor 0.6.1 的palette面板中没有控件图标的解决方法

    在win7-64bit环境下,boa-constructor 0.6.1 的palette面板中没有控件图标,空白一片.将面板窗口拉大,发现那些图标在很下面的位置,X轴的排列与正常状态一致. 软件环境 ...

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

    在.net 4.0环境下使用sqlite时报异常 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集其调用的方法是从sqli ...

  3. eclipse环境下基于tomcat-7.0.82构建struts2项目

    开山第一篇,毕业4个月目前接触最多的框架还是s2sh框架.... 具备完整的开发环境下,在eclipse下启动tomcat出现如下所示画面表示环境构建成功. 第一步:创建web项目,截图如下 此页面只 ...

  4. CentOs环境下给PHP7.0安装fileinfo扩展

    由于项目搭建处于一个初步阶段,由于环境的不成熟出现过一系列的问题是难免的,在关于文件操作的程序中,报出一个缺少扩展的错误,已经解决~ 看一下官方给出的说明,http://php.net/manual/ ...

  5. VS2015环境下的提示语法错误:编号的预期结尾后有多余文本(extra text after expected end of number)

    当工程中有扩展CListCtrl的类代码,并且有自绘单元格的操作, ON_NOTIFY_REFLECT(NM_CUSTOMDRAW, OnNMCustomdraw) 编辑器语法智能提示就会对这个宏定义 ...

  6. Windows环境下安装 mysql-8.0.11-winx64 遇到的问题解决办法

    下载mysql安装包,我的是下载mysql-8.0.11-winx64,解压到你想安装的目录下,然后配置环境(window环境下,mac本还没试过), 1.首先,配置环境:右击此电脑->属性-& ...

  7. Win7 64位 VS2015环境使用qt-msvc2015-5.6.0

    QT下载 http://www.qt.io/download-open-source/#section-2 我用的是 qt-opensource-windows-x86-msvc2015-5.6.0. ...

  8. Centos环境下给PHP7.0安装yaf扩展

    首先要知道PHP的安装目录在哪里,以我当前的路径为例,在/usr/local/php目录下. 下一步需要下载扩展包,进入http://pecl.php.net/package/yaf寻找符合版本要求的 ...

  9. Win7 VS2015环境使用qt-msvc2015-5.6.0

    QT下载 http://www.qt.io/download-open-source/#section-2 我用的是 qt-opensource-windows-x86-msvc2015-5.6.0. ...

随机推荐

  1. JSR303 校验扩展(分组、按顺序校验)

    1.在spring MVC 项目中使用JSR303 校验数据合法性,一般情况下使用方法为 (1)在接受数据的实体使用注解标添加校验规则 package com.hzsj.wechatdto; impo ...

  2. pandas中的数据结构-DataFrame

    pandas中的数据结构-DataFrame DataFrame是什么? 表格型的数据结构 DataFrame 是一个表格型的数据类型,每列值类型可以不同 DataFrame 既有行索引.也有列索引 ...

  3. 洛谷 P2023 维护序列 题解

    题面 注意一个细节,查询和更新都需要pushdown(); #include <bits/stdc++.h> #define int long long using namespace s ...

  4. Python和mysql的连接

    python与mysql的连接: 说明:前提是已近安装了mysql以及可视化工具(本人装的是Navicat) 1.在cmd下下载Python的第三方数据库包:pip install pymysql: ...

  5. python-day8(正式学习)

    目录 列表类型内置方法 常用操作+内置方法 优先掌握(***) 需要掌握(**) 存一个值or多个值 有序or无序 可变or不可变 元组类型内置方法 定义 常用操作+内置方法 优先掌握 一个值or多个 ...

  6. MySQL 分组统计查询 表连接(3)

    1 查询底薪超过公司平均底薪的员工信息? select e.empno,e.ename,e.salfrom t_emp as e join (select avg(sal) as avg from t ...

  7. java 使用面向对象方式实现录入学生信息,取出成绩最大值、最小值、平均值、对其进行排序

    题目: java 使用面向对象方式实现录入学生信息,取出成绩最大值.最小值.平均值.对其进行排序 gitup源码下载地址: https://github.com/benxiaohai8888/Java ...

  8. js数组与对象的区别

    数组和对象两者都可以用来表示数据的集合,曾一度搞不清楚”数组”(array)和”对象”(object)的根本区别在哪里. 有一个数组a=[1,2,3,4],还有一个对象a={0:1,1:2,2:3,3 ...

  9. $id(id)函数

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. 问题:Thymeleaf整合Spring Security后sec属性不起作用

    可能原因: 版本不兼容,例如2.1.x的SpringBoot不兼容3.0.4的thymeleaf-extras-springsecurity4 解决方案: 修改Spring Boot的版本为2.0.x ...