1. 为什么要在WSL2中折腾Ceres Solver?
作为一名长期在Windows和Linux双系统间反复横跳的算法工程师,我深刻理解在Windows环境下搭建C++科学计算环境的痛苦。直到WSL2的出现,终于让我们能在Windows里获得接近原生Linux的开发体验。而Ceres Solver作为谷歌开源的优秀非线性优化库,在SLAM、三维重建、计算机视觉等领域有着广泛应用。今天我就带大家手把手在WSL2的Ubuntu 20.04环境中部署Ceres 2.1.0,并分享几个实际项目中的配置技巧。
实测环境:Windows 11 22H2 + WSL2 Ubuntu 20.04 LTS,所有命令均经过实际验证
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与依赖安装
2.1 WSL2基础环境配置
首先确保你的WSL2已经启用GPU加速(这对后续的SuiteSparse加速很重要):
bash复制# 检查WSL版本
wsl -l -v
# 若版本为1,需转换
wsl --set-version Ubuntu-20.04 2
更新软件源并安装基础编译工具链:
bash复制sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential cmake git libatlas-base-dev
2.2 关键依赖项详解
Ceres的核心依赖包括:
- Eigen3:线性代数计算核心(必须)
- glog:日志记录(推荐)
- SuiteSparse:稀疏矩阵计算(强烈建议)
安装命令:
bash复制sudo apt install -y libeigen3-dev libgoogle-glog-dev libsuitesparse-dev
特别注意:Ubuntu 20.04默认仓库的SuiteSparse版本较旧(5.4.0),如需CUDA加速需要手动编译新版,本文暂不涉及
3. Ceres Solver编译安装全流程
3.1 源码获取与配置
建议从GitHub拉取稳定版本(本文使用2.1.0):
bash复制git clone https://github.com/ceres-so
