一、WSL2的安装
1、打开Windows虚拟化功能,勾选图示两个功能(如果直接安装WSL的话也可能会自动勾选)
功能启用路径:控制面板——程序——启用或关闭Windows功能
2、安装WSL以及Ubuntu22.04LTS
以管理员身份运行Windows PowerShell,输入以下命令(需要科学上网)
wsl --install wsl --set-default-version 2 //设置为WSL2版本 wsl --list --online //查找Ubuntu可用发行版 wsl --install -d Ubuntu-22.04 //安装Ubuntu的长期支持版(LTS) //高版本的Ubuntu应该也可以使用 wsl -d Ubuntu-22.04 //安装完成后启动Ubuntu并创建用户,设置密码时光标不会移动二、安装基础开发工具与环境搭建(在Ubuntu中操作)
1、更新软件源,保证所安装的工具是最新版(一定要做!)
sudo apt-get update sudo apt-get upgrade -y //添加-y将自动允许弹出的选项2、安装G++、CMake、Eigen3
//G++ sudo apt-get install build-essential -y g++ --version //验证安装 //CMake sudo apt-get install cmake -y cmake --version //验证安装 //Eigen3 sudo apt-get install libeigen3-dev -y3、安装OpenCV
(1)安装依赖
//安装核心编译依赖 sudo apt-get install -y build-essential //安装GUI和图像处理依赖 sudo apt-get install -y libgtk2.0-dev libcanberra-gtk-module //安装视频编解码依赖 sudo apt-get install -y libavcodec-dev libavformat-dev //安装图像格式支持 sudo apt-get install -y libjpeg-dev libtiff5-dev libswscale-dev //安装开发工具 sudo apt-get install -y pkg-config unzip //安装附加依赖 sudo apt-get install -y libpng-dev libopenexr-dev libgstreamer-plugins-base1.0-dev(2)编译安装OpenCV
下载OpenCV源代码,不用解压https://github.com/opencv/opencv/releases/tag/4.12.0
下载完成后,将源码复制进Ubuntu
//查找是否存在刚刚下载的zip文件 ls /mnt/d/downloads/opencv-4.12.0.zip //复制文件进入Ubuntu cp /mnt/d/downloads/opencv-4.12.0.zip ~/opencv_build/ //验证是否复制成功(也可以跳过这一步),出现文件名“opencv_4.12.0.zip”则成功复制 cd ~ //通过该命令返回Ubuntu文件夹地址,否则会找不到文件 ls opencv_build/解压源码并开始编译,如果遇到编译时卡住可以多等一段时间,之后按一下回车检查编译情况,因为有时候编译完成后不会更新界面的显示
//进入目录 cd opencv_build //确认文件是否存在 ls //解压 sudo unzip opencv-4.12.0.zip //进入构建目录并执行构建 cd opencv-4.12.0 sudo mkdir build && cd build //配置CMake(这是一整行命令) sudo cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=ON -D CMAKE_INSTALL_PREFIX=/usr/local .. //根据自己的CPU核心配置-j后参数,我使用的i9-14900HX为24核32线程 //但推荐-j参数调小一点,比如-j16,减少编译线程 sudo make -j32 sudo make install(3)配置系统环境
//添加库路径并更新库缓存 sudo sh -c "echo '/usr/local/lib' >> /etc/ld.so.conf.d/opencv.conf" sudo ldconfig //设置pkg-config路径 echo 'export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig' | sudo tee -a /etc/bash.bashrc source /etc/bash.bashrc //验证 //输出 4.12.0 即可 pkg-config --cflags opencv4三、图形化界面的部署
1、安装XLaunch
直接点Downloadhttps://sourceforge.net/projects/vcxsrv/
2、启动XLaunch
有的文章说第三步要在下面的输入栏输入-ac,但我没有输入也可以实现图形化界面,目前不清楚区别
3、在Ubuntu中安装xfce4以及写入相关参数,连接图形化界面
进入WSL,输入以下命令
sudo apt-get install xfce4-terminal sudo apt-get install xfce4 sudo service dbus restart以管理员身份打开Windows PowerShell,输入ipconfig,获得WSL本地连接的ipv4地址
框住的那一行后面的数字即为地址,复制地址用于参数写入。
在Ubuntu中通过命令进入 ~/.bashrc 修改参数
sudo vim ~/.bashrc //通过这个命令进入~/.bashrc export DISPLAY=xxx.xx.xx.x:0 //用你刚刚复制的地址替换×标记 source ~/.bashrc //退出vim后输入该命令重新加载~/.bashrc文件(你可以通过直接关掉当前窗口退出vim,然后重新打开WSL界面,记得查看上面的修改是否保存成功) //管理员身份打开PowerShell关闭WSL再重新启动 wsl --shutdown //以后都用这个命令关闭WSL wsl -d Ubuntu-22.04 //启动WSL后输入下面命令连接图形化界面 sudo startxfce4四、VSCode远程连接以及作业导入与编辑
1、VSCode插件安装与远程连接
安装如下插件
点击VSCode左下角远程连接图标
点击上方弹出的按钮连接WSL(保证WSL已经启动)
左下角显示图示即连接成功
2、作业导入与构建
进入WSL后,通过以下命令导入(保证你当前命令行显示的是/home/你的用户名)
//以我自己电脑里面存的文件做演示 cp -r /mnt/d/Code/Games101/pa0 . //d表示文件所在盘,后面是文件在该盘的路径 //注意后面的 空格+. 一定要写,代表复制到当前所在文件夹下,为 “/home/你的用户名/” 的简洁写法保证你复制的文件夹下直接包含所有源代码文件,而不是内部用文件夹嵌套包含源代码文件,构建时直接在代码所在文件夹构建,否则需要 cd 进代码所在文件夹
开始构建作业文件
cd xxx //用源代码所在文件夹名替换xxx mkdir build cd build/ cmake .. make ./xxx //用构建后生成的文件的文件名替换xxx,即可开始运行作业项目3、作业编辑
远程连接成功后,点击顶上输入栏选择代码文件所在文件夹后点确定,左边就会显示所有源代码文件
编辑文件时可能会有权限问题,在终端 cd 进代码文件夹后输入下面命令,将文件夹的权限修改至任意用户都可修改即可
sudo chmod 777 -R .