首先确保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:
立即学习“C++免费学习笔记(深入)”;
以管理员身份打开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
然后,选择要使用的版本:
飞蛙B2B2C商城电商系统下载飞蛙B2B2C(FeiWa B2B2C)商城系统是山东破浪网络科技有限公司于2017年最新推出的企业级B2B2C电商平台系统,采用PHP5+MySQL技术为基础,OOP(面向对象)方式进行核心框架搭建,结合MVC模式进行开发,可以支持Windows/Unix服务器环境,需PHP5.3及以上版本支持,可运行于包括Apache、IIS和Nginx在内的多种WEB服务器。飞蛙B2B2C(FeiWa B2
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++开发环境。








