0

0

C++在Windows下使用WSL搭建开发环境

P粉602998670

P粉602998670

发布时间:2025-09-12 08:26:01

|

974人浏览过

|

来源于php中文网

原创

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

c++在windows下使用wsl搭建开发环境

在Windows下使用WSL搭建C++开发环境,能让你享受到Linux的便利性,同时又能兼顾Windows的生态。简单来说,就是鱼和熊掌兼得。

首先,确保你的Windows 10版本在2004以上,或者Windows 11。然后,启用WSL和安装Linux发行版。接着,在WSL中安装C++编译器和相关工具。最后,配置VS Code或其他IDE,使其能够与WSL集成。

解决方案

  1. 启用WSL:

    立即学习C++免费学习笔记(深入)”;

    以管理员身份打开PowerShell,运行以下命令:

    wsl --install

    这会自动安装Ubuntu作为默认的Linux发行版。如果你想安装其他发行版,可以先运行

    wsl --list --online
    查看可用列表,然后使用
    wsl --install -d 
    安装。

  2. 安装C++编译器和相关工具:

    打开你安装的Linux发行版(例如Ubuntu)。更新软件包列表:

    sudo apt update

    安装build-essential(包含g++、make等):

    sudo apt install build-essential gdb

    gdb
    是调试器,强烈建议安装。

  3. 配置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++!"。

  4. 其他配置(可选):

    • 安装CMake: 如果你使用CMake管理项目,安装CMake:
      sudo apt install cmake
    • 配置终端: 可以安装zsh和oh-my-zsh,提高终端使用体验。
    • 共享Windows文件: WSL可以直接访问Windows文件系统,路径在
      /mnt/c/
      下。

WSL C++开发环境搭建完毕。

如何在WSL中安装特定版本的GCC/G++?

有时候,你可能需要使用特定版本的GCC/G++,而不是默认安装的版本。这在需要兼容特定标准或使用特定库时非常重要。

  1. 添加第三方源:

    可以使用

    ppa
    (Personal Package Archive)来安装特定版本的GCC/G++。例如,安装GCC 9:

    sudo add-apt-repository ppa:ubuntu-toolchain-r/test
    sudo apt update
  2. 安装指定版本:

    sudo apt install gcc-9 g++-9
  3. 切换默认版本(可选):

    如果需要将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商城电商系统

    飞蛙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进行调试。

  1. 使用GDB:

    编译程序时,添加

    -g
    选项,以包含调试信息:

    g++ -g hello.cpp -o hello

    使用GDB调试:

    gdb ./hello

    GDB常用命令:

    • break 
      :在指定行设置断点。
    • run
      :运行程序。
    • next
      :执行下一行代码。
    • step
      :进入函数。
    • print 
      :打印变量的值。
    • continue
      :继续执行程序。
    • quit
      :退出GDB。
  2. 使用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文件系统时。

  1. 将项目文件放在WSL文件系统中:

    将项目文件从

    /mnt/c/
    移动到WSL的文件系统中,例如
    /home//projects/

  2. 使用SSD:

    如果你的Windows安装在机械硬盘上,将WSL迁移到SSD可以显著提高性能。

  3. 调整WSL资源限制:

    可以调整WSL使用的内存和CPU核心数。创建一个

    .wslconfig
    文件(如果不存在)在你的用户目录下(
    C:\Users\\.wslconfig
    ),并添加以下内容:

    [wsl2]
    memory=8GB  # 根据你的需求调整
    processors=4 # 根据你的需求调整

    然后,重启WSL:

    wsl --shutdown

    再次启动WSL,新的资源限制就会生效。

  4. 使用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++开发环境。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

417

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

533

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

310

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

75

2025.09.10

python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end=' ', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

185

2023.09.27

java中break的作用
java中break的作用

本专题整合了java中break的用法教程,阅读专题下面的文章了解更多详细内容。

118

2025.10.15

java break和continue
java break和continue

本专题整合了java break和continue的区别相关内容,阅读专题下面的文章了解更多详细内容。

256

2025.10.24

java break和continue
java break和continue

本专题整合了java break和continue的区别相关内容,阅读专题下面的文章了解更多详细内容。

256

2025.10.24

Golang 性能分析与pprof调优实战
Golang 性能分析与pprof调优实战

本专题系统讲解 Golang 应用的性能分析与调优方法,重点覆盖 pprof 的使用方式,包括 CPU、内存、阻塞与 goroutine 分析,火焰图解读,常见性能瓶颈定位思路,以及在真实项目中进行针对性优化的实践技巧。通过案例讲解,帮助开发者掌握 用数据驱动的方式持续提升 Go 程序性能与稳定性。

5

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
C# 教程
C# 教程

共94课时 | 7.3万人学习

C 教程
C 教程

共75课时 | 4.2万人学习

C++教程
C++教程

共115课时 | 13.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号