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++开发环境。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

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

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

419

2023.08.07

json是什么
json是什么

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

535

2023.08.23

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

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

311

2023.10.13

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

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

77

2025.09.10

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

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

186

2023.09.27

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

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

118

2025.10.15

java break和continue
java break和continue

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

258

2025.10.24

java break和continue
java break和continue

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

258

2025.10.24

java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

1

2026.01.29

热门下载

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

精品课程

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

共94课时 | 7.9万人学习

C 教程
C 教程

共75课时 | 4.3万人学习

C++教程
C++教程

共115课时 | 14.6万人学习

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

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