1. 环境准备与依赖安装
在Linux环境下编译OnnxRuntime的C++版本,首先需要确保系统满足基础环境要求。我建议使用Ubuntu 18.04或20.04这类长期支持版本,它们对开发工具链的支持最为完善。实测在CentOS 7上会遇到glibc版本问题,需要额外处理依赖关系。
基础依赖包括:
- CMake 3.18+:这是构建系统的核心工具
- GCC 7+或Clang 5+:C++17兼容的编译器
- Git:用于源码仓库克隆
- Python 3.6+:虽然我们要编译C++版本,但构建脚本依赖Python环境
安装这些依赖最快捷的方式是使用系统包管理器。对于Ubuntu/Debian系系统:
bash复制sudo apt update
sudo apt install -y build-essential cmake git python3 python3-pip
如果计划启用GPU加速,还需要提前安装CUDA Toolkit和cuDNN。这里有个坑要注意:CUDA版本必须与OnnxRuntime官方文档推荐的版本匹配。比如当前稳定版v1.14.1要求CUDA 11.6或11.8,使用其他版本可能导致编译失败。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 源码获取与版本选择
直接从GitHub克隆仓库是最推荐的方式:
bash复制git clone --recursive https://github.com/microsoft/onnxruntime.git
cd onnxruntime
这里有几个关键点需要注意:
--recursive参数必须加上,因为项目包含多个子模块- 如果要指定版本,可以用
git checkout v1.14.1切换到特定tag - 国内用户可能会遇到GitHub访问慢的问题,可以考虑使用镜像源
我建议在编译前先创建一个干净的Python虚拟环境,避免系统Python环境被污染:
bash复制python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
3. 编译配置与优化技巧
OnnxRuntime的编译配置非常灵活,可以通过C
