The given version [16] is not supported, only version 1 to 10 is supported in this build.问题以及解决方案

问题背景

  • 编程语言:C++
  • 编译环境:Windows11环境
  • 编译器:Visual Stdio Community 2022 Release
  • 编译工具:CMake
  • 问题发生时机:程序运行时
  • 发生问题的库:onnxruntime-win-x64-gpu-1.16.0
  • 报错信息:The given version [16] is not supported, only version 1 to 10 is supported in this build.

问题时现场

对于onnxruntime,直接指定其所在库位置,并链接名为onnxruntime的库即onnxruntime.lib

程序运行状态如下

问题定位

该报错信息由于显示版本16不支持,则直接定位到了是onnxruntime库出现了问题,经过问题的检索,最终发现是由于动态链接库onnxruntime.dll的问题所导致。

Unable to use any OnnxRuntime packages >1.7 with CMake · Issue #11230 · microsoft/onnxruntime (github.com)

以上是github中作者对问题的解析,具其中讨论的开发者们所言,该问题出现在windows11中,在windows/systems32文件夹下存在onnxruntime.dll文件,会被程序优先链接,由于其版本落后则产生了如上的报错信息。

DLL链接搜索顺序

Dynamic-link library search order - Win32 apps | Microsoft Learn

解决方案

目前的解决方案为,直接在可执行文件main.exe所在文件夹内复制一份最新版本的onnxruntime.dll,可以在链接搜索时有更高的优先级。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值