☰
新手入门3D视觉(一)WSL2+Ubuntu22.04+PCL环境配置
2026/10/14 6:39:28 网站建设 项目流程

「零基础转行工业 3D 视觉」系列第一篇。
本文记录我用 WorkBuddy 把第 1 周环境搭起来的完整过程:3 个步骤,手动敲的命令不超过 3 条。
全程用到的 3 个脚本放在文末附件里,可以直接下载复用。


开始之前:一条最重要的提醒

不要装 VMware,也不要装 VirtualBox。

它们会和 WSL2 抢 CPU 的虚拟化层(Hyper-V),轻则 WSL2 启动报0x80370102,重则蓝屏 / kernel panic —— 这也是我学习计划里明确写着「不用 VirtualBox」的原因。

已经装了的,建议先卸载再往下走。

本文最终装出来的版本(版本对不上会多踩很多坑,先列清楚):

组件版本来源
宿主系统Windows 11 23H2(Build 22631)—
WSLWSL2wsl --update
发行版Ubuntu 22.04.5 LTS (Jammy)微软商店
PCL1.12.1Ubuntu 22.04 官方源
OpenCV4.5.4同上
Eigen3.4.0同上
Ceres2.0.0同上
Open3Dpip 最新版独立虚拟环境

划重点:Ubuntu 22.04 的 apt 源里 PCL 正好是1.12,直接apt install libpcl-dev就行,完全不用源码编译。


第 1 步:让 WorkBuddy 先检查 Windows 系统

我没急着动手,而是先把需求和学习计划发给 WorkBuddy,让它先看看我这台机器能不能装、该怎么装。

我发给它的话:

根据我的转行学习计划,我需要在本周完成第 1 周:环境搭建
WSL2 安装 Ubuntu 22.04(不用 VirtualBox,避免 kernel panic)
安装 PCL 1.12、OpenCV 4.x、Eigen、Ceres、Open3D
其中,指导我进行 Ubuntu 的安装,尽量安装在 D 盘我的文件夹的 softwares 中

它查到的由此定的决策
系统实际是Windows 11 23H2(Build 22631),但注册表ProductName显示 “Windows 10 Pro”以 Build 号为准。Win11 自带 WSLg,图形界面直接可用,不用额外装 X Server
C 盘 200 GB只剩 75 GB;D 盘 753 GB 剩 222 GBUbuntu必须装 D 盘(ext4.vhdx只增不减,会一路把 C 盘吃干)
wsl.exe存在,但没装任何发行版全新安装,脚本可以直接跑

第 2 步:一键安装 WSL2 + Ubuntu 22.04

以管理员身份打开 PowerShell(开始菜单搜 PowerShell → 右键 → 以管理员身份运行),执行一条命令:

powershell-ExecutionPolicy Bypass-File"D:\Mengyuan\Softwares\scripts\01-install-wsl2-ubuntu2204.ps1"

脚本会依次做 5 件事,可重复运行,已完成的自动跳过:

步骤它自动做的
【1/5】开启「适用于 Linux 的 Windows 子系统」+「虚拟机平台」两个 Windows 功能,并提示重启
【2/5】重启后:wsl --update升级内核,默认版本设为 WSL2
【3/5】安装 Ubuntu 22.04,落到D:\Mengyuan\Softwares\WSL\Ubuntu-22.04
【4/5】写C:\Users\你\.wslconfig,限制内存/CPU,防止后续编译时把 Windows 卡死
【5/5】验证:打印发行版列表,确认ext4.vhdx真的在 D 盘

全程只有一处需要你动手:中途会弹出 Ubuntu 终端,让你创建账号、输入密码。

Enter new UNIX username: mengyuan # 全小写英文,别用中文、别用大写 New password: ******** # 输入时屏幕不显示字符,这是正常的 Retype new password: ********

小插曲:我输administrator,结果首字母被提示符吃掉,变成了dministrator。
问了 WorkBuddy,说这是终端交互的常见现象、功能完全不受影响,继续用就行 —— 省了我一次重装。

重点看三行:

* Ubuntu-22.04 Stopped 2 <- VERSION 必须是 2 [√] 虚拟磁盘已落在 D 盘:D:\Mengyuan\Softwares\WSL\Ubuntu-22.04\ext4.vhdx(当前 1.35 GB,会随使用增长) 全部完成!

脚本里的一个关键设计:它预设了两条安装路径。
优先用wsl --install --location一步装到 D 盘;如果当前 WSL 版本不支持--location,自动降级为「装到 C 盘 → 导出 → 注销 → 导入到 D 盘」。
我这台机器的 WSL 版本不支持--location,于是它自己走了降级路径,我全程无感。


第 3 步:一键安装 PCL / OpenCV / Eigen / Ceres / Open3D

进入 Ubuntu(任意终端输入wsl回车),运行一条命令:

bash/mnt/d/Mengyuan/Softwares/scripts/02-setup-dev-env.sh

脚本依次做 5 件事(同样可重复运行):

步骤它自动做的
【1/5】切换 apt 源到清华 TUNA 镜像(自动备份原文件),国内下载提速 10 倍以上
【2/5】安装编译链 +PCL 1.12 / OpenCV 4.5 / Eigen 3.4 / Ceres 2.0
【3/5】Open3D 装进独立虚拟环境~/venvs/py3d(不污染系统 Python)
【4/5】校验 WSLg 图形环境
【5/5】打印版本核对表,逐项对照学习计划

下载量约 12 GB,5~~15 分钟。装完的关键输出:

能看到这两行就说明 PCL 装上了:

Setting up libpcl-dev (1.12.1+dfsg-3build1) ... Setting up libvtk9-dev (9.1.0+really9.1.0+dfsg2-3build1) ...

Setting up是 apt 安装的最后一个阶段(解包之后的配置),它出现在所有依赖处理完之后 —— 看到它基本就是成功了。

最后脚本还会打印一张版本核对表:

----------------------------------------------------------- PCL 1.12.1-1 (计划要求 1.12) OpenCV 4.5.4+dfsg (计划要求 4.x) Eigen 3.4.0-4 Ceres 2.0.0+dfsg1-5build1 CMake 3.22.1 GCC 11.4.0 Open3D 0.18.0 -----------------------------------------------------------

为什么不用源码编译 PCL:Ubuntu 22.04 官方源里正好是 1.12,直接 apt 装即可。
源码编译要多花 1~2 小时,还容易挂在 VTK / Qt 依赖上 —— 新手第一周纯属自找麻烦。


附件:3 个脚本,在资源里,对应直接拿去用哈

附件文件用途怎么用
01-install-wsl2-ubuntu2204.ps1Windows 侧:一键装 WSL2 + 把 Ubuntu 22.04 装到 D 盘管理员 PowerShell 运行
02-setup-dev-env.shUbuntu 侧:一键装 PCL / OpenCV / Eigen / Ceres / Open3D在 Ubuntu 里执行
run-stage-b-env.cmd双击启动器:免敲命令,直接跑上面那个.sh双击即可

只有 2 个地方需要改成你自己的:

位置改成
01-install-wsl2-ubuntu2204.ps1里的$InstallRoot你想装的目录
run-stage-b-env.cmd里的脚本路径你的脚本实际位置

跨平台存放行尾要注意(不然会报$'\r': command not found):

文件类型行尾 / 编码
.ps1UTF-8 with BOM
.shLF
.cmdCRLF

结尾

WSL2 + Ubuntu 22.04 装在 D 盘,PCL 全套依赖就位啦

下一篇:PCL 核心算法手写(VoxelGrid / SOR / RANSAC / ICP)。


本文首发于 CSDN,是「零基础转行工业 3D 视觉」系列第一篇,转载请注明出处。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询