Windows 下开发 Linux C++ 程序,头文件总是提示问号,每次开虚拟机也让人不爽。最近在 wsl 中折腾了一番,似乎是不用启动虚拟机了,直接在 wsl 中使用 vsc 或 eclipse。
进入 wsl2,查看内核版本
uname -r
这边 Ubuntu 20.04 是
5.10.102.1-microsoft-standard-WSL2
下载这个版本的 wsl 内核源代码
wget https://github.com/microsoft/WSL2-Linux-Kernel/archive/refs/tags/linux-msft-wsl-5.10.102.1.tar.gz
tar vzxf *.tar.gz
编译内核,这个时间比较长。编译时最好关闭 wd,不然内存可能要爆
sudo apt install libelf-dev build-essential pkg-config bison build-essential flex libssl-dev libelf-dev bc
cd WLS2*
zcat /proc/config.gz > .config
make -j $(nproc)
ls /lib/modules
看到有内核源码文件,指向刚解压的目录。
安装头文件
sudo make -j $(nproc) headers_install
果然,这样 vscode 中有了头文件了。
经同事测试,如果将编译相关文件复制到虚拟机内部就不会那么慢。