解决The given version [xx] is not supported, only version 1 to 10 is supported in this build
1. 环境
- 操作系统:windows 11 64bit。
- vs版本:2022。
- onnxruntime版本:1.12.1。
2. 问题
在下载了官网编译好的包,并在vs中配置好依赖之后,运行程序,立刻报:
The given version [12] is not supported, only version 1 to 10 is supported in this build
网上有一个回答,说到这个问题[1],意思是,在程序执行的时候,加载的dll并不是你指定的onnxruntime.dll,而是系统路径(/c/WINDOWS/SYSTEM32/onnxruntime.dll)中的onnxruntime.dll,造成inlucde的头文件与加载的dll不一致,因此报错。
因为/c/WINDOWS/SYSTEM32/在搜索路径中的优先级应该比自己设置的附加库目录要高,根据查询,Windows链接器加载动态库的搜索路径顺序为:
- 当前进程的可执行模块所在的目录。
- 当前目录。
- Windows系统目录。如C:\Windows\System32,GetSystemDirectory函数检索此目录的路径。
- Windows目录。 如C:\Windows,GetWindowsDirectory函数检索此目录的路径。
- PATH环境变量中列出的目录。
因为先在C:\Windows\System32中找到了onnxruntime.dll,因为报了这个错。
3. 解决
将你指定的版本的onnxruntime.dll复制到你生成的exe所在目录。
4. 参考
[1] [Build]
本文版权归作者(https://www.cnblogs.com/harrymore/)和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,如有问题, 可邮件(harrymore@126.com)咨询.