- 首先参考前述文章《Visual Studio 2019源码编译cpu版本onnxruntime_xunan003的博客-CSDN博客》第1~3步,将anaconda python3.8虚拟环境copy至内网离线环境envs中。
并将下载的onnxruntime包迁移至内网固定位置;
2.查看onnxruntime/cmake/external所依赖的各依赖库是否在git clone时有下载完整,如过未下载完成,可在外网在线环境编译成功后将external整体打包(此时在线环境已经编译成功,故所有依赖库均已下载完成),替换内网离线环境对应目录;
3.VS2022开发人员命令行并cd至onnxruntime目录进行编译,编译指令为:
bash
build.bat --build_shared_lib --config Release --skip_tests --parallel --cmake_generator "Visual Studio 17 2022"
#release多线程编译cpu
4.此时一定会报错,报错信息为
按提示网址,在在线环境下载20211102.0.zip将其放置在onnxruntime/build/Windows/Release/abseil-cpp/src/下即可,然后重新执行编译指令
5.如途中出现如下错误
我的解决方案是删除onnxruntime/cmake/external/onnx,然后在在线环境下载最新的onnx源码包,并checkout至最新release版本,我这边原来是onnx-v1.12.0,重新下载onnx-v1.13.0替换即可
onnx源码地址:https://github.com/onnx/onnx.git
bash
git clone https://github.com/onnx/onnx.git
cd onnx
git checkout v1.13.0
将新下载的onnx复制到cmake/external/下。
删除build后重新编译,注意重新来一遍第4步即可。