C++ Windows下WSL开发环境搭建指南
首先确保Windows版本符合要求并启用WSL,安装Linux发行版后配置C++编译器与VSCode集成,通过Remote-WSL扩展实现开发调试,可安装特定GCC版本、使用GDB或VSCode调试,并优化编译速度,如将项目放在WSL文件系统、调整.wslconfig资源限制及使用ccache缓存。
首先确保Windows版本符合要求并启用WSL,安装Linux发行版后配置C++编译器与VS Code集成,通过Remote-WSL扩展实现开发调试,可安装特定GCC版本、使用GDB或VS Code调试,并优化编译速度,如将项目放在WSL文件系统、调整.wslconfig资源限制及使用ccache缓存。

在Windows下使用WSL搭建C++开发环境,能让你享受到Linux的便利性,同时又能兼顾Windows的生态。简单来说,就是鱼和熊掌兼得。
首先,确保你的Windows 10版本在2004以上,或者Windows 11。然后,启用WSL和安装Linux发行版。接着,在WSL中安装C++编译器和相关工具。最后,配置VS Code或其他IDE,使其能够与WSL集成。
解决方案
启用WSL:
以管理员身份打开PowerShell,运行以下命令:
wsl --install
这会自动安装Ubuntu作为默认的Linux发行版。如果你想安装其他发行版,可以先运行
wsl --list --online查看可用列表,然后使用wsl --install -d安装。安装C++编译器和相关工具:
打开你安装的Linux发行版(例如Ubuntu)。更新软件包列表:
sudo apt update
安装build-essential(包含g++、make等):
sudo apt install build-essential gdb
gdb是调试器,强烈建议安装。配置VS Code集成:
在VS Code中安装Remote - WSL扩展。安装完成后,VS Code左下角会出现一个绿色图标。点击该图标,选择“Remote-WSL: New Window”。
现在,VS Code就运行在WSL环境中了。你可以打开WSL中的文件夹,编辑和编译C++代码。
创建一个简单的C++程序(例如
hello.cpp):#include
int main() { std::cout << "Hello, WSL C++!" << std::endl; return 0; } 编译并运行:
g++ hello.cpp -o hello ./hello
如果一切顺利,你应该能在终端看到 "Hello, WSL C++!"。
其他配置(可选):
- 安装CMake: 如果你使用CMake管理项目,安装CMake:
sudo apt install cmake - 配置终端: 可以安装zsh和oh-my-zsh,提高终端使用体验。
- 共享Windows文件: WSL可以直接访问Windows文件系统,路径在
/mnt/c/下。
- 安装CMake: 如果你使用CMake管理项目,安装CMake:
WSL C++开发环境搭建完毕。
如何在WSL中安装特定版本的GCC/G++?
有时候,你可能需要使用特定版本的GCC/G++,而不是默认安装的版本。这在需要兼容特定标准或使用特定库时非常重要。
添加第三方源:
可以使用
ppa(Personal Package Archive)来安装特定版本的GCC/G++。例如,安装GCC 9:sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt update
安装指定版本:
sudo apt install gcc-9 g++-9
切换默认版本(可选):
如果需要将GCC 9设置为默认版本,可以使用
update-alternatives:sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 90
然后,选择要使用的版本:
sudo update-alternatives --config gcc sudo update-alternatives --config g++
现在,当你运行
gcc --version或g++ --version时,应该显示你选择的版本。
如何调试WSL中的C++程序?
调试是开发过程中不可或缺的一部分。在WSL中,可以使用GDB或VS Code进行调试。
使用GDB:
编译程序时,添加
-g选项,以包含调试信息:g++ -g hello.cpp -o hello
使用GDB调试:
gdb ./hello
GDB常用命令:
break:在指定行设置断点。run:运行程序。next:执行下一行代码。step:进入函数。print:打印变量的值。continue:继续执行程序。quit:退出GDB。
使用VS Code调试:
VS Code可以方便地配置调试器。
- 打开VS Code的调试视图(Ctrl+Shift+D)。
- 点击“create a launch.json file”。
- 选择“C++ (GDB/LLDB)”。
- 根据你的项目配置
launch.json文件。一个简单的配置如下:
{ "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/hello", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, "MIMode": "gdb", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "miDebuggerPath": "/usr/bin/gdb" } ] }- 在代码中设置断点,然后点击调试按钮。VS Code会自动启动GDB并运行程序。
如何解决WSL中C++编译速度慢的问题?
WSL的文件系统性能有时会影响编译速度。特别是当项目文件位于Windows文件系统时。
将项目文件放在WSL文件系统中:
将项目文件从
/mnt/c/移动到WSL的文件系统中,例如/home/。/projects/ 使用SSD:
如果你的Windows安装在机械硬盘上,将WSL迁移到SSD可以显著提高性能。
调整WSL资源限制:
可以调整WSL使用的内存和CPU核心数。创建一个
.wslconfig文件(如果不存在)在你的用户目录下(C:\Users\),并添加以下内容:\.wslconfig [wsl2] memory=8GB # 根据你的需求调整 processors=4 # 根据你的需求调整
然后,重启WSL:
wsl --shutdown
再次启动WSL,新的资源限制就会生效。
使用ccache:
ccache是一个编译器缓存,可以显著加快编译速度。安装ccache:sudo apt install ccache
配置
ccache:export CCACHE_DIR="/home/$USER/.ccache" export CCACHE_MAXSIZE="10G" mkdir -p $CCACHE_DIR ccache -M 10G
在你的
.bashrc或.zshrc文件中添加以下内容:export CCACHE_DIR="/home/$USER/.ccache" export CCACHE_MAXSIZE="10G" export CCACHE_PREFIX="gcc" # 或 "g++",取决于你的编译器 export CCACHE_CPP2=true # 如果你使用C++
重启终端,
ccache就会自动缓存编译结果。
通过这些方法,你可以在Windows下使用WSL搭建一个高效的C++开发环境。
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。















