vscode + wsl2 + xmake快速构建c语言编译调试环境

前言

使用这一套是我觉得最方便的,wsl2使得我可以不用脱离windows,且无需安装庞大且臃肿虚拟机。vscode让我可以更加方便快捷的编辑代码,而xmake是一站式的工程构建工具且作者就是中国人文档啥的群啥的都是中文,比起cmake makefile学习成本低不少。

安装软件

vsocde安装

vscode官网,下载最新版的安装包。安装过程只有一点要注意:

这部分, 前两个是可以让你右键有通过Code打开功能。非常方便的打开文件夹。

第三个主要是让你可以让一些文件打开默认为vscode打开

第四个主要是可以通过命令行的code打开,在未来的wsl使用中非常方便。

wsl2安装

win + S 输入启用

点击启用或关闭windows功能,打开"适用于Linux的Windows子系统"和"虚拟机平台功能"(wsl2需要子系统功能)

非c盘安装方法

接下来可以通过 https://docs.microsoft.com/zh-cn/windows/wsl/install-manual 去下载对应的wsl的linux发行版(如ubuntu)。然后更改后缀为zip,用bandzip等解压软件进行解压到指定平台,解压文件夹里面有个.exe执行的文件(如ubuntu.exe)双击即可运行。

快捷安装方法

也可以通过微软商店搜索wsl后点击免费下载(这种做法默认保存到c盘)

这里就可以根据提示设置账户和密码了(这里密码无回显)

XMAKE安装方法

官方安装教程

这里做个简单的搬运

bash 复制代码
sudo add-apt-repository ppa:xmake-io/xmake
sudo apt update
sudo apt install xmake

如果出现报错

bash 复制代码
E: Release file for http://archive.ubuntu.com/ubuntu/dists/focal-updates/InRelease is not valid yet (invalid for another 4h 5min 19s). Updates for this repository will not be applied.

是由于wsl系统时间设置不正确,使用如下命令同步windows时间

bash 复制代码
sudo hwclock -s

作者在蓝桥云课上开设了一套官方课程:Xmake 带你轻松构建 C&C++ 项目

这里是作者csdn博客

安装vscode插件

首先打开voscode 在插件搜索里搜索chinese,让整个界面变成中文。

输入wsl,下载wsl插件

接下来进入wsl,输入

bash 复制代码
code .

在wsl中打开vscode

然后,输入c,在wsl中安装c/c++插件

最后输入xmake,下载xmake插件

下载编译工具链

bash 复制代码
sudo apt install gcc # 编译c文件
sudo apt install g++ # 编译c++文件
sudo apt install gdb # 调试代码

如何使用它编程和调试

我们打开wsl,使用xmake创建一个简单的工程

bash 复制代码
xmake create -l c hello

create命令用来创建工程,-l c指定语言为c语言

hello 是工程名

详情参考官方文档:工程例子

然后,进入hello 工程

bash 复制代码
cd hello

原地打开vscode

bash 复制代码
code .

首先我们来编译运行一下,打开vscode终端,输入

bash 复制代码
xmake f -m debug
xmake
xmake r

我们发现生成的xmake非常简单就三行代码,第一行是添加两种模式分别是用于调试的debug模式和用于发布的release模式。默认是release模式,可以通过xmake f -m debug切换到debug模式,后续配合vscode调试。

target是指定你的工程名,set_kind作用是指定生成的代码是二进制还是库,最后的add_file就是添加src下面所有.c结尾的文件。

接下来我们点击小虫子,跳转到调试界面。点击运行和调试

就可以愉快的调试了

相关推荐
过过过呀Glik21 分钟前
在 Ubuntu 上安装 Muduo 网络库的详细指南
linux·c++·ubuntu·boost·muduo
蜀黍@猿1 小时前
【C++ 基础】从C到C++有哪些变化
c++
Am心若依旧4091 小时前
[c++11(二)]Lambda表达式和Function包装器及bind函数
开发语言·c++
zh路西法1 小时前
【C++决策和状态管理】从状态模式,有限状态机,行为树到决策树(一):从电梯出发的状态模式State Pattern
c++·决策树·状态模式
轩辰~2 小时前
网络协议入门
linux·服务器·开发语言·网络·arm开发·c++·网络协议
向宇it2 小时前
【从零开始入门unity游戏开发之——unity篇02】unity6基础入门——软件下载安装、Unity Hub配置、安装unity编辑器、许可证管理
开发语言·unity·c#·编辑器·游戏引擎
徐小夕@趣谈前端2 小时前
可视化大屏编辑器, 开源!
编辑器
lxyzcm2 小时前
C++23新特性解析:[[assume]]属性
java·c++·spring boot·c++23
天天进步20152 小时前
TipTap编辑器:现代化的富文本编辑解决方案
编辑器
蜀黍@猿2 小时前
C/C++基础错题归纳
c++