Visual Studio Code系列--CMake Tools使用说明

一、目的

        在linux系统上开发程序,一般都是使用vim+gcc+gdb进行的;但是为了开发效率我们也会使用Visual Studio Code进行开发,毕竟有界面的开发调试还是更加友好一些。

        老牌程序员肯定都知道make构建工具,但是其晦涩的语法还是难住不少初级开发者的。那么有没有一种更加方便的构建方式呢?

        答案是肯定的,我们可以使用CMake来进行构建,在Visual Studio Code上再配合CMake Tools工具真是如虎添翼。

        
​​​​​​​

 

二、实战

        参考资料

        Get started with CMake Tools on LinuxGet started with the CMake Tools Visual Studio Code extension on Linuxhttps://code.visualstudio.com/docs/cpp/CMake-linux#_select-a-kit

        1、安装Visual Studio Code
sudo apt updatesudo apt install software-properties-common apt-transport-https wget
sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
sudo apt install code
        2、确认开发环境
gcc -v

                 

        如果没有安装使用下面的命令安装 

sudo apt-get install gcc
sudo apt-get install build-essential gdb cmake

        确认cmake版本(尽量高于3.12.0)

cmake --version

 

        3、创建工程目录并安装visual studio code插件(C++ extension for VS Code、CMake Tools extension for VS Code)

        在terminal下输入后打开visual studio code        

mkdir -p ~/workspace/work/test/cmakeQuickStart
cd ~/workspace/work/test/cmakeQuickStart
code .

         

        4、创建cmake hello world工程 

        通过组合按键(Ctrl+Shift+P)打开命令面板,然后输入cmake quick后回车

 

        输入工程名称helloWorld后回车

        选择编程语言

 

        选择编程类型(库或者可执行程序)

 

         

        再次打开命令面板输入cmake select a kit

 

        选择本地编译器 

        修改main.c文件

#include <stdio.h>int main(int argc, char** argv){printf("Hello, from helloWorld!\n");
}

 

        5、编译 

        再次打开命令面板,输入cmake build

 

        编译完成后输出如下

 

        给程序添加断点(直接在代码行开头点击一下就会出现红点)

        6、调试

        再次打开命令面板,输入cmake debug

        进入调试窗口

 

         

        以上就是cmake tool的基本内容。 

        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/9095.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

超实用攻略!GPT能玩的这么6,你居然还不知道?

开篇 自古以来,智者皆知学无止境,而在我们身边,正有一款奠基于这个原则的AI机器人—ChatGPT,他擅长从网络上学习各种知识,然后把这些知识用在他的对话中。没错,它就是天马行空的闲话家,无所不谈的取经者。可你知道怎样让它更加符合你的使用需求,适应你的工作节奏么?哦…

中国汽车协会:我国整车出口数量达到43.8万辆,同比增长92.8%

根据中国汽车工业协会发布的数据&#xff0c;今年5月份我国汽车整车出口量达到43.8万辆&#xff0c;较上月增长3.2%&#xff0c;同比增长92.8%。 同时&#xff0c;整车出口金额环比增长8.8%&#xff0c;同比增长1.2倍。而今年1-5月&#xff0c;汽车整车出口量达到193.3万辆&…

vue vant Calendar日历定制

calendar文档 <template> ...<Calendar :min-date"start" :max-date"end":title"null" :show-mark"false" :show-subtitle"false" :show-confirm"false" :show-title"true":poppable"fa…

NextJs下浅尝Prisma+Sqlite+逆向生成数据模型

1.安装prisma npm install prisma/client 2.创建schema.prisma npx prisma init 执行完命令后创建文件目录如下&#xff1a; 3.配置数据库连接 generator client {provider "prisma-client-js" }datasource db {provider "sqlite" //数据库类型 这…

大模型入局传统算法,LLMZip基于LLaMA-7B实现1MB文本压缩率90%!

论文链接&#xff1a; https://arxiv.org/abs/2306.04050 随着以ChatGPT、GPT-4为代表的AI大模型逐渐爆火进入公众视野&#xff0c;各行各业都开始思考如何更好的使用和发展自己的大模型&#xff0c;有一些评论甚至认为大模型是以人工智能为标志的第四次产业革命的核心竞争产品…

使用java生成mvt切片的方法

如何使用java生成geoserver的矢量切片供前端&#xff08;mapbox等&#xff09;调用 目录新的想法Java能为切片做什么引入依赖如何转换xyz数据如何查询如何输出mvt格式给前端前端如何调用 目录 好久没发博客了&#xff0c;每日或忙碌、或悠闲、或喜或悲、时怅时朗&#xff0c;或…

如何使用SQL语句创建触发器

&#x1f388;个人主页:&#x1f388; :✨✨✨初阶牛✨✨✨ &#x1f43b;推荐专栏1: &#x1f354;&#x1f35f;&#x1f32f;C语言初阶 &#x1f43b;推荐专栏2: &#x1f354;&#x1f35f;&#x1f32f;C语言进阶 &#x1f511;个人信条: &#x1f335;知行合一 &#x1f…

Spark SQL生产优化经验--任务参数配置模版

大表扫描 特殊case说明&#xff1a;当任务存在扫event_log表时需注意&#xff0c;若对event_log表进行了过滤&#xff0c;且过滤比很高&#xff0c;如下图的case&#xff0c;input为74T&#xff0c;但shuffle write仅为3.5G&#xff0c;那么建议提高单partition的读取数据量&a…

接口测试之测试原则、测试用例、测试流程......

一、接口的介绍 软件测试中&#xff0c;常说的接口有两种&#xff1a;图形用户接口&#xff08;GUI&#xff0c;人与程序的接口&#xff09;、应用程序编程接口&#xff08;API&#xff09;。 接口&#xff08;API&#xff09;是系统与系统之间&#xff0c;模块与模块之间或者…

elasticsearch学习篇:初识ES

一、什么是ES 1、基础概念 是一款非常强大的开源搜索引擎&#xff0c;具备非常多强大功能&#xff0c;可以帮助我们从海量数据中快速找到需要的内容es是elastic stack(ELK)的核心&#xff0c;负责存储、搜索、分析数据。 ELK包括以下内容&#xff1a; ELK被广泛应用在日志数据…

【Web3】认识元宇宙

元宇宙在Web3中扮演着重要的角色&#xff0c;可以带来许多创新和变革。Web3是下一代互联网的概念&#xff0c;强调去中心化、区块链技术和加密货币的应用。 元宇宙在Web3中的几个作用&#xff1a; 去中心化的虚拟世界&#xff1a;元宇宙通过使用区块链技术和去中心化的网络结构…

【MySQL事务】保证数据完整性的利器

1、事务的认识 事务&#xff1a;事务就是将多个SQL给打包在一起&#xff0c;组成一个整体。组成这个整体的各个SQL&#xff0c;要么全部成功&#xff0c;要么全部失败。 举例说明&#xff1a; 情人节到了&#xff0c;滑稽老铁打算给他女朋友小美发给红包&#xff0c;但是他又害…