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结尾的文件。

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

就可以愉快的调试了

相关推荐
45288655上山打老虎7 小时前
C++完美转发
java·jvm·c++
newobut7 小时前
vscode远程调试python程序,基于debugpy库
vscode·python·调试·debugpy
SunkingYang8 小时前
程序崩溃闪退——MFC共享内存多次OpenFileMapping和MapViewOfFile而没有相应的UnmapViewOfFile和CloseHandle
c++·mfc·共享内存·崩溃·闪退·close·openfilemapping
问君能有几多愁~9 小时前
C++ 日志实现
java·前端·c++
JANGHIGH9 小时前
c++ 多线程(二)
开发语言·c++
珑墨9 小时前
【浏览器】页面加载原理详解
前端·javascript·c++·node.js·edge浏览器
a伊雪11 小时前
c++ 引用参数
c++·算法
潮流coder11 小时前
vscode修改缓存保存路径
ide·vscode·缓存
应茶茶11 小时前
从 C 到 C++:详解不定参数的两种实现方式(va_args 与参数包)
c语言·开发语言·c++
承接电子控制相关项目12 小时前
安装VSCODE发现 右击选项中无VSCODE 打开选项,处理方法汇总
ide·vscode·编辑器