LOADING

加载过慢请开启缓存 浏览器默认开启

GAMES101作业 wsl下环境配置

2025/2/10 教程 GAMES101 WSL
本文总阅读量

在windows下折腾半天还是一堆问题,最后选择了这个方案

安装WSL2

win10需要另外安装图形化界面,win11不需要,教程以win11为例。我的windows版本:wsl安装教程网上有很多,我这里先在windows功能内启用WSL子系统随后在微软商店下载Ubuntu,比较简单无脑

安装g++和CMake

安装g++cmake

sudo apt update
sudo apt install build-essential cmake

检查二者安装情况

安装eigen3

sudo apt install libeigen3-dev

安装opencv

参考 OpenCV: Installation in Linux

先安装依赖包,能让我们的wsl2使用图形化窗口

sudo apt install libgtk2.0-dev pkg-config

前往opencv的github仓库下载源代码 Releases · opencv/opencv 丢进用户文件夹并解压,可以用wsl命令行也可以在windows资源管理器完成

在解压后文件夹的同级目录运行:

# Create build directory
mkdir -p build && cd build
# Configure - generate build scripts for the preferred build system
# 这里opencv是前面文件夹的名字
cmake ../opencv
# Build - run actual compilation process
make -j16

这里cmake ../opencv时大概率因为网络问题连不上github而失败,解决方法是在WSL Settings里面把网络模式改成Mirror在windows这边用wsl --shutdown关闭wsl,再重新启动ubuntu,就可以使用windows下你开启的代理了

-j后面跟的是编译的线程数,我这里设置的和CPU线程数一样,运行后CPU会火力全开一会,我的轻薄本跑了不到10分钟

编译无误后,安装:

sudo make install

可以用opencv_version看看是否安装成功

导入GAMES101作业

Games101 S2021作业汇总合集[S2021] GAMES101 作业汇总 – 计算机图形学与混合现实在线平台 和opencv源代码导入方法一样,丢进wsl解压就行了

VS Code远程WSL2

进入VS Code安装WSL插件

在远程资源管理器选择WSL目标,然后选择我们的Ubuntu并连接

搜索安装CMake Tools,这里是安装在WSL远程,即使本地安装过也需要重新装:

然后打开一个作业的项目文件夹

这时候会跳出来一个提示,让你选择CMakeLists.txt文件,选择唯一的那个即可,随后又会让你选择编译器,这里我使用wsl下的g++(/mnt路径后面的是windows下的文件映射)

这里使用第一个作业为例,点小三角形生成并运行,跳出来一个窗口就代表配置成功了

配置LSP

默认是没有代码提示的,我们可以安装lsp插件来获得语法自动补充,可以用微软提供的C/C++ Extension Pack,但是我个人还是更喜欢使用clangd

在wsl内安装clangd server:

sudo apt install clangd

修改clangd插件设置里面的clangd路径为/usr/bin/clangd

如果以前没专门为windows配置过clangd,还需要在Arguments下加入--compile-commands-dir=${workspaceFolder}/build来指定项目的编译数据库的存储位置,加在远程下就只对wsl生效,加在用户下就是windows和wsl同时使用这个设置

Fallback Flags下加入--target=x86_64-linux-gnu(不加好像也行)

进入cpp文件,我们就有语法提示了,头文件也能正常识别(如果不能就先生成CMake项目,然后重启VS Code)

本站不开放评论区,如有讨论内容请移步至本站Github讨论区