1 概述
1.1 案例介绍
在云原生与远程协作成为主流的软件开发趋势下,开发环境的快速构建、一致性维护及跨团队共享已成为提升效率的关键挑战。C/C++开发因其对系统工具链(如编译器、调试器、第三方库)的高度依赖,环境配置复杂且易出错,传统的手动配置模式难以满足敏捷开发需求。此外,跨地域团队或开源协作场景中,环境差异常导致“本地正常、云端报错”等问题,严重影响交付效率。通过将C/C++开发环境预置为云主机镜像,开发者可一键获取标准化的开发环境,减少重复配置成本,同时为团队协作、CI/CD流水线提供底层支持,显著提升开发流程的可靠性与可复现性。
本案例聚焦于利用华为开发者空间功能(云主机),结合VS Code的IDE工具,定制包含C/C++全工具链(如GCC/Clang、CMake、Conan包管理器)、调试工具(GDB/LLDB)及常用依赖库的云主机镜像。该镜像可直接部署为云主机实例,开发者通过一键部署即可获得开箱即用的编程环境,无需手动安装配置。云主机的弹性资源特性(按需购买开发者专业会员)进一步支持高性能编译与测试场景,而镜像的版本化管理则确保环境更新可追溯、可回滚,与云平台的计算、存储服务无缝集成。
1.2 适用对象
l 个人开发者
l 高校学生
1.3 案例时间
本案例总时长预计60分钟。
1.4 案例流程
说明:
① 登录云主机,终端Terminal命令安装编译工具链和调试工具,安装VS Code;
② 在VS Code上编写实验代码,并运行测试实验结果;
③ 在华为开发者空间-工作台-我的镜像制作镜像,重置云主机,配置云主机自定义镜像,登录验证实验程序。
1.5 资源总览
本案例预计花费总计0元。
2 实验环境搭建
2.1 配置云主机
面向广大开发者群体,华为开发者空间提供一个随时访问的“开发桌面云主机”、丰富的“预配置工具集合”和灵活使用的“场景化资源池”,开发者开箱即用,快速体验华为根技术和资源。
如果还没有领取华为开发者空间云主机,可以参考免费领取云主机文档领取。注意,云主机配置参数如下:
领取云主机后可以直接进入华为开发者空间工作台界面,点击进入桌面连接云主机。
2.2 安装编译工具链
C/C++运行时环境需要依赖编译器(GCC/G++)和调试工具GDB。因此,在任务开始前我们首先需要确认云主机是否已经安装GCC/G++和GDB。
云主机桌面右键,点击Open Terminal Here打开Terminal Emulator窗口。在窗口中输入如下命令进行验证:
gcc --version
g++ --version
gdb --version
如果云主机中未安装gdb,可通过如下命令进行部署:
sudo apt update #更新软件包列表
sudo apt install build-essential gdb -y
3 VS Code安装部署
3.1 VS Code安装
1. 下载.deb
在云主机Terminal Emulator窗口,可以通过命令行下载.deb安装Visual Studio Code:
sudo wget -O code.deb https://vscode.download.prss.microsoft.com/dbazure/download/stable/e54c774e0add60467559eb0d1e229c6452cf8447/code_1.97.2-1739406006_arm64.deb
注:
1) 这里使用wget命令下载的deb包会默认下载到当前目录,并且默认命名为code.deb。
2) 如果云主机类型是X86,可以通过以下命令下载:
sudo wget -O code.deb https://vscode.download.prss.microsoft.com/dbazure/download/stable/e54c774e0add60467559eb0d1e229c6452cf8447/code_1.97.2-1739406807_amd64.deb
2. 安装VS Code
下载完成后,使用 dpkg 命令来安装下载好的 .deb 包:
sudo dpkg -i code.deb
注:若在安装过程中遇到依赖问题,可使用以下命令修复依赖:
sudo apt-get install -f
3. 运行VS Code
安装完成后,可以在云桌面左下角所有应用程序 – 开发 – Visual Studio Code点击启动,也可以通过以下命令打开VS Code:
code
3.2 安装VS Code插件
VS Code作为一个款强大的跨平台编辑器,为开发者提供了非常丰富的拓展插件。开发者可以打开VS Code扩展商店,点击插件管理图标
,输入插件名称,点击install安装。插件介绍如下:
- C/C++:语法高亮、智能补全、代码跳转、调试支持(支持跨平台编译和多环境配置),所有 C/C++ 项目的开发基础,无需额外配置即可直接使用。
- C/C++ Extension Pack:代码编辑、调试、构建和格式化的核心功能,覆盖从代码编写到编译调试的全流程,尤其适合需要跨平台或依赖 CMake 的中大型项目。
- CMake Tools:集成 CMake 构建系统,支持自动化编译、调试和项目配置,简化跨平台项目管理,适用于复杂工程依赖的构建。
- Code Runner:一键运行代码片段或文件,支持快速测试和调试,无需手动配置编译命令,实时输出结果到终端。
- GitLens:增强 Git 功能,支持代码历史追溯、差异对比、作者信息查看,协作开发时快速定位代码变更和提交记录。
- C/C++ Snippets:快速插入常用代码模板(如循环、条件语句),减少重复编码。
3.3 配置开发环境
1. 在云主机左下角打开File Manager。在File Manager左上角文件 – 新建文件夹,编辑名称创建所需要的工程目录。
点击VS Code左上角File – OpenFolder,选择上一步新建的工程目录cpp_project。
2. 在VS Code中,新建 main.cpp 文件,编写示例代码:
#include <iostream>
using namespace std;
int main() {
printf("欢迎来到华为开发者空间!");
return 0;
}
3. 配置构建任务
1) 在VS Code中,按 Ctrl+Shift+P 输入 Tasks: Configure Task,选择 Create tasks.json from template → Others。
完成上述步骤后,工程目录中自动增加了配置文件tasks.json。
2) 双击打开并修改tasks.json:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "g++",
"args": [
"-g", "-o", "main", "main.cpp"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
4. 配置launch.json
1) 点击左侧调试图标(或按 Ctrl+Shift+D),选择 Create a launch.json file → C++ (GDB/LLDB)。
2) 修改 launch.json:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "C++ Debug",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/main",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"preLaunchTask": "build"
}
]
}
修改完成后,左侧工具栏会发生变化如下:
5. 编译与调试
1) 开发者可以通过左上角的C++ Debug按钮启动编译调试。
2) 也可以通过如下方式进行编译调试:
a) 编译:按 Ctrl+Shift+B 或运行终端命令:
g++ -g -o main main.cpp
b) 调试:按 F5 启动调试,支持断点、变量监视等功能。
3.4 常见问题解决
问题 1:编译器未找到
确保已安装 build-essential,检查 PATH 环境变量:
echo $PATH
问题 2:调试器无法启动
确保已安装 gdb:
sudo apt install gdb -y
问题 3:VS Code 插件安装失败
尝试更换网络环境,或手动下载 .vsix 文件安装。
4 镜像制作与使用
4.1 制作镜像
在制作镜像前,我们首先要确认云主机已处于关机状态。
在华为开发者空间,工作台 – 我的云空间模块,点击我的镜像,进入镜像编辑页面。
点击制作镜像,设置镜像名称、镜像描述、选择镜像源。点击确定,华为开发者空间将自动开始制作镜像,制作镜像需要30分钟,请耐心等待。
镜像制作完成后,状态变为“就绪”状态。
4.2 使用镜像
在加载镜像前,需要先确认云主机当前是可配置状态。
点击配置云主机,选择私有镜像,下拉选项中选择之前已经制作好的镜像,点击安装按钮。进入桌面,自定义镜像开始加载。
等待镜像加载(约3-5分钟),进入云桌面,Terminal Emulator窗口通过code命令启动VS Code,点击运行程序,这里显示程序运行成功。
至此,基于华为开发者空间,定制C/C++开发环境云主机镜像案例内容全部完成。