构建 GDAL 时链接器错误

2024-01-01

我正在使用 MSVC 2015 64 位命令提示符从源代码构建 GDAL。我使用的是 Windows 8。在构建过程中,我收到以下错误:

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.

我在 Microsoft 网站和 GDAL Git 问题部分读到,这是 2014 MSVC 和 MSVC 2015 预发行版本的问题,但该问题应该在 MSVC 2015 最终版本之前得到解决。

  • https://github.com/mapbox/windows-builds/issues/53 https://github.com/mapbox/windows-builds/issues/53
  • https://connect.microsoft.com/VisualStudio/feedback/details/1134693/vs-2015-ctp-5-c-vsnwprintf-s-and-other-functions-are-not-exported-in-appcrt140-dll-打破静态库的链接 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

我似乎不是唯一遇到此问题的人,但我也没有看到解决方案(除了恢复到旧版本的 MSVC,例如 2013)。有没有人有幸使用 MSVC 2015(64 位)构建 GDAL?


GDAL-2.1.0 已经在 nmake.opt 上进行了类似的更改

!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

但您还必须使用参数 MSVC_VER 从命令行指定 Visual Studio 版本。 例如对于 Visual Studio 2015 (MSVC_VER==1900) 使用此命令行进行编译

nmake -f makefile.vc MSVC_VER=1900
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

构建 GDAL 时链接器错误 的相关文章

随机推荐

  • 带有 FB 连接的空白弹出窗口

    我已经使用 Javascript SDK 实现了 facebook connect 当我尝试验证的用户未登录 Facebook 时 验证工作正常 但当他已经登录 Facebook 时 登录弹出窗口永远不会关闭 弹出窗口的 URL 以 htt
  • 组合具有多个参数的函数

    如何编写一个 apply 接受多个参数的函数 这是一个人为的例子 val sum List Int gt Int l gt l sum val double Int gt Int i gt i i double compose sum ap
  • 在 boost 上从位集到位集的无序(哈希)映射

    我想使用缓存 由boost实现unordered map 从一个dynamic bitset to a dynamic bitset 当然 问题在于位集中没有默认的哈希函数 这似乎不是一个概念问题 但我不知道如何解决技术细节 我该怎么做呢
  • 以编程方式获取 Android 手机规格

    我正在尝试根据与性能相关的内容对运行我的应用程序的 Android 手机进行分类 我想剔除所有低质量设备 以查看高质量手机的性能 崩溃率 我有设备型号 例如 在 Samsung Galaxy S6 上 Build MODEL 的值可能是 S
  • React 代码锁定在无限循环中 - 不涉及 while 循环

    我对 React 有点陌生 在下面写了这段代码 下面的组件用于渲染故事的时间和日期选择器 时间和日期选择器仅针对计划出现该故事的社交媒体进行渲染 class TaleScheduler extends Component construct
  • JavaScript 中“define”的用途是什么(除了显而易见的)?

    我到处搜索这方面的文档 但我在任何地方都找不到任何东西 我正在使用 Aloha 并希望使用他们的侧边栏原型来创建我自己的新侧边栏 附加到其他插件功能 他们的 sidebar js 就是从这个开始的 但我一生都找不到任何文档来解释它的含义 d
  • 使用 javaConfig 找不到类[重复]

    这个问题在这里已经有答案了 我使用注释动态创建 Bean 出现以下错误 package demoproject import org springframework context annotation Bean import org sp
  • 将我的程序添加到右键菜单

    右键菜单 我的意思是 我真的不知道它叫什么 但我希望它是右键菜单 当我用谷歌搜索这个问题的标题之类的查询时 我什么也没得到 一些教程展示了如何将 exe 添加到该列表等 但我正在寻找一些教程来教我如何处理该数据 右键单击菜单将返回什么 等等
  • Room 持久库将版本重置为 1

    有什么方法可以将房间库版本重置为1 我尝试卸载手机上的应用程序 它不起作用 仅当您完全删除该应用程序时 使用 Room 降级版本才有效 您可以通过 adb adb uninstall your app package 执行此操作 这也会删除
  • 将 Unicode 从 R 写入 SQL Server

    我正在尝试将 Unicode 字符串从 R 写入 SQL 然后使用该 SQL 表来支持 Power BI 仪表板 不幸的是 Unicode 字符似乎仅在我将表加载回 R 时才起作用 而当我在 SSMS 或 Power BI 中查看表时则不起
  • 查找并删除目录及其子目录中的空文件而无需查找

    我正在尝试制作一个 bash 脚本 在不使用 find 命令的情况下查找并删除目录 包括子目录 中的空文件 这是使用 find 命令的脚本的一部分 但我不确定如何在不使用 find 的情况下转换此行 find type f empty de
  • 如何在 SQL 查询中 JOIN 父级的类别表?

    我有一个帖子表 id category id 然后JOIN其类别表为 category id category name parent ONcategory id Parent是另一个类别的category id 例如 category i
  • 如何获取 rq 队列中的作业数量?

    我用过rq http python rq org 和 RedisToGo 如何获取队列中的作业数量 我在文档中找不到它 Python 当我尝试时 print Before len q jobs result q enqueue worker
  • 如何备份SVN仓库? [复制]

    这个问题在这里已经有答案了 我经常听说拥有 SVN 存储库并不能消除备份的需要 这样的备份是如何完成的呢 我的意思是存储库会随着时间的推移而膨胀 不是吗 那么我是否每次都将其作为一个整体进行备份 或者我该怎么做 进行此类备份的最简单方法是什
  • 德墨忒尔定律 - 数据对象

    我试图遵循德米特法则 参见http en wikipedia org wiki Law of Demeter http en wikipedia org wiki Law of Demeter http misko hevery com c
  • Google Maps Javascript API 不响应 iOS 10 中的触摸事件

    我运行一个内置了许多自定义 Google 地图的网站 在搜索或生成往返某个位置的路线后在地图上显示各个位置 我为此使用 Google Maps Javascript API 我的用户开始报告说 在 iOS 10 上 这些地图不再响应触摸事件
  • 表字段中未显示验证图标

    当我进入表格的编辑模式时 我希望在用户超出任何验证约束范围时立即显示数据验证感叹号图标 首先 有几点注意事项 我使用的是 Vaadin 7 所以 Bean Validation 插件很遗憾无法工作 数据验证按预期进行 现在 我有一个完美的工
  • 是否可以在node.js的帮助下在Windows中将JSLint作为命令行运行?

    我的意思是像这样运行它 node exe lint js my js file js 然后将输出输出到控制台 我需要下载什么 我只需要保存吗http www jslint com 到磁盘 然后获取一些附加的 js 文件 或者我需要寻找 no
  • 如何将触摸从 UIView 传递到 UIScrollView

    如同这个线程 https stackoverflow com questions 5186479 passing swipe touches from uiview to underlying uiscrollview for proper
  • 构建 GDAL 时链接器错误

    我正在使用 MSVC 2015 64 位命令提示符从源代码构建 GDAL 我使用的是 Windows 8 在构建过程中 我收到以下错误 Creating library gdal i lib and object gdal i exp od