编译onnxruntime+OpenVINO,提示“Unsupported OpenVINO version“(已解决)

编译OnnxRuntime+OpenVINO,提示"Unsupported OpenVINO version"(已解决)

昨天刚填完编译OnnxRuntime+OneDNN的坑,今天编译了一天的OnnxRuntime+OpenVINO,一直接提示Unsupported OpenVINO version,无法编译通过。

CMake Error at CMakeLists.txt:1253 (message):
  Unsupported OpenVINO version:


-- Configuring incomplete, errors occurred!
Traceback (most recent call last):
  File "G:FromGithubonnxruntime	oolsci_builduild.py", line 2684, in <module>
    sys.exit(main())
  File "G:FromGithubonnxruntime	oolsci_builduild.py", line 2542, in main
    generate_build_tree(
  File "G:FromGithubonnxruntime	oolsci_builduild.py", line 1422, in generate_build_tree
    run_subprocess(
  File "G:FromGithubonnxruntime	oolsci_builduild.py", line 798, in run_subprocess
    return run(*args, cwd=cwd, capture_stdout=capture_stdout, shell=shell, env=my_env)
  File "G:FromGithubonnxruntime	oolspythonutil
un.py", line 49, in run
    completed_process = subprocess.run(
  File "E:PythonPython39libsubprocess.py", line 528, in run
    raise CalledProcessError(retcode, process.args,

查来查去,原来是自己下载OpenVINO ToolKit包时(w_openvino_toolkit_windows_2023.2.0.13089.cfd42bd2cb0_x86_64.zip),觉得名字太长了,改了一个CMake在是处理onnxruntimecmakeCMakeList.txt文件时,无法通过路径来判断OpenVino的版本,如下代码

 # Check OpenVINO version for support
  if (${VER} MATCHES "2022.1" OR $ENV{INTEL_OPENVINO_DIR} MATCHES "2022.1")
    set(OPENVINO_VERSION "2022.1")
    add_definitions(-DOPENVINO_2022_1=1)
  elseif (${VER} MATCHES "2022.2" OR $ENV{INTEL_OPENVINO_DIR} MATCHES "2022.2")
    set(OPENVINO_VERSION "2022.2")
    add_definitions(-DOPENVINO_2022_2=1)
  elseif ($ENV{INTEL_OPENVINO_DIR} MATCHES "2022.3")
    set(OPENVINO_VERSION "2022.3")
    add_definitions(-DOPENVINO_2022_3=1)
  elseif ($ENV{INTEL_OPENVINO_DIR} MATCHES "2023.0")
    set(OPENVINO_VERSION "2023.0")
    add_definitions(-DOPENVINO_2023_0=1)
  elseif ($ENV{INTEL_OPENVINO_DIR} MATCHES "2023.1")
    set(OPENVINO_VERSION "2023.1")
    add_definitions(-DOPENVINO_2023_1=1)
  elseif ($ENV{INTEL_OPENVINO_DIR} MATCHES "openvino")
    set(OPENVINO_VERSION "2023.1")
    add_definitions(-DOPENVINO_2023_1=1)
  else()
    message(FATAL_ERROR "Unsupported OpenVINO version: ${INTEL_OPENVINO_DIR}")
  endif()

其中,INTEL_OPENVINO_DIR就是“setupvars.bat”所在文件夹。
导致一直提示"Unsupported OpenVINO version",坑,实在是坑!
注意,解压或安装的文件夹名需要包含版本号(如CMakeList.txt文件中的版本号)或 openvino(还区分大小写?!),最后路径如:“F:openvino”,编译通过。
CMake也有语法,也有错误提示,只是自己没早发现…