Ubuntu20.04配置C/C++环境

1. C/C++ IDE

安装Clion Nova和VsCode

2. 编译器

2.1 g++

当程序比较小时,安装g++编译器进行编译,常用命令如下:

// 安装g++
sudo apt-get install g++
// 默认生成a.out的可执行文件
g++ main.cpp
// 生成其他名字的可执行文件
g++ main.cpp -o exe_name

2.2 cmake

当我们写的程序越来越大时,我们就希望有工具可以一下子编译所有文件;cmake把一串g++命令,变成了维护若干个比较直观的CMakeLists.txt,极大地降低了维护成本;所以我们接下来介绍cmake的安装和使用

  • CMakeLists.txt编写
// 要求cmake的最低版本
cmake_minimum_required(VERSION 3.16)
// 项目名称,一般为包含xxx.cpp的文件夹名称
project(start_project)
// 编译时c++标准
set(CMAKE_CXX_STANDARD 17)
// 添加一个可执行文件;语法add_executable(程序名 源代码文件);
add_executable(main main.cpp)
  • cmake的安装和使用
// 安装cmake
sudo apt install cmake
// 检查信息处理工程文件之间的关系;在当前目录生成一些中间文件,最重要的是**MakeFile(可以理解成一系列自动生成的编译指令)**
cmake . 
// 调用g++编译
make

在这里插入图片描述
在这里插入图片描述

  • 更常用的使用方法
    使用cmake .和make的方式,会产生许多中间文件,在public code的时候我们不希望中间文件一并发布出去,所以介绍一下更常用的编译方法,通过下面的方法,在发布前只需要删除掉build文件夹就可以了
mkdir build && cd build
cmake .. //多一个点是为了到build文件夹的上一个目录
make
### 配置 VSCode 支持 C/C++ 开发 为了使 Visual Studio Code (VSCode) 能够支持在 Ubuntu 20.04 上进行高效的 C/C++ 开发,需安装必要的编译工具并设置合适的扩展。 #### 安装编译器和其他开发工具 对于编译环境而言,在终端执行命令来安装 Clang 编译器以及 ROS 开发所需的一系列工具集可以满足需求: ```bash sudo apt update && sudo apt upgrade -y sudo apt install clang ros-dev-tools -y ``` 上述操作不仅提供了基础的编译能力还包含了构建 ROS 包所需的组件[^1][^2]。 #### 安装 VSCode 及其插件 确保已安装最新版本的 VSCode 后,通过 Extensions 视图(快捷键 `Ctrl+Shift+X`),搜索 "C/C++" 并点击安装由 Microsoft 提供的那个官方扩展程序。此扩展包内含 IntelliSense 功能用于代码补全、调试等功能的支持。 #### 创建工作区文件夹结构 创建一个新的项目目录,并初始化 git 或者其他版本控制系统以便于管理源码变更历史。同时建立 `.vscode/launch.json`,`.vscode/tasks.json` 文件用来定义启动配置项与任务脚本。 #### 配置 launch.json 和 tasks.json 编辑 `.vscode/launch.json` 来指定调试参数;而 `.vscode/tasks.json` 则负责描述预处理指令如编译过程中的选项设定等。以下是两个 JSON 文件的一个简单例子: **launch.json** ```json { "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/a.out", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "gdb" } ] } ``` **tasks.json** ```json { "version": "2.0.0", "tasks": [ { "label": "build hello world", "type": "shell", "command": "/usr/bin/clang++", "args": [ "-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}" ], "group": { "kind": "build", "isDefault": true }, "problemMatcher": ["$gcc"], "detail": "Generated task to build a single file." } ] } ``` 以上配置允许用户直接从 IDE 中触发构建流程,并且能够方便地利用断点来进行单步跟踪式的调试体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gyqJulius_Caesar

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值