vscode+cmake配置普通c++项目

news/2024/7/16 8:57:01 标签: vscode, c++, ide

目录

  • 写在前面
  • 代码
  • 命令行编译与运行
  • vscode配置编译与调试
  • 调试
  • 参考

写在前面

1、本文内容
vscode+cmake配置普通c++项目

2、平台
ubuntu vscode
3、转载请注明出处:
https://blog.csdn.net/qq_41102371/article/details/125890166

代码

mkdir cmake_demo

将hello.cpp与CMakeLists.txt放在cmake_demo文件夹下
hello.cpp

#include <iostream>

int main(){
    std::cout<<"hello"<<std::endl;
    return 0;
}

CMakeLists.txt

cmake_minimum_required(VERSION 3.10)

project(Cmake_Hello)

add_executable(hello hello.cpp)

命令行编译与运行

这里使用Release

cd cmake_demo
cmake -DCMAKE_BUILD_TYPE=Release -S ./ -B ./build
cmake --build ./build --config Release --parallel 4
./build/hello

vscode_42">vscode配置编译与调试

vscode 打开cmake_demo目录,configure tasks选择cmake build
在这里插入图片描述
1、生成task.json

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "cmake",
			"label": "CMake: build",
			"command": "build",
			"targets": [
				"all"
			],
			"group": "build",
			"problemMatcher": [],
			"detail": "CMake template build task"
		}
	]
}

ctrl+shift+B可以编译,只不过默认是Debug

2、修改type为shell,可加入上述命令行编译命令以配置CMAKE_BUILD_TYPE等,命令使用分号隔开

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "shell",
			"label": "CMake: build",
			"command": "cmake -DCMAKE_BUILD_TYPE=Debug -S ./ -B ./build;cmake --build ./build --config Debug --parallel 4",
			"group": "build",
			"problemMatcher": [],
			"detail": "CMake template build task"
		}
	]
}

3、上述2也可以分开写
label自己定义,下面的dependsOn对应上就行,ctrl+shift+B之后选择后一个c0mpile_project就行,因为有dependsOn,build_project会一起执行

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "shell",
			"label": "build_project",
			"command": "cmake -DCMAKE_BUILD_TYPE=Debug -S ./ -B ./build",
			"group": "build",
			"problemMatcher": [],
			"detail": "CMake template build task"
		},
		{
			"type": "shell",
			"label": "compile_project",
			"command": "cmake --build ./build --config Debug --parallel 4",
			"dependsOn":["build_project"],
			"group": "build",
			"problemMatcher": [],
			"detail": "CMake template build task"
		},
	]
}

在这里插入图片描述

调试

在代码上加断点
在这里插入图片描述
create launch.json
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
修改program的路径,hello就是编译生成的可执行文件
在这里插入图片描述
F5调试进入断点
在这里插入图片描述

参考

vscode + cmake调试配置 https://da1234cao.blog.csdn.net/article/details/124238534


http://www.niftyadmin.cn/n/1081956.html

相关文章

大量数据的页面结构

大量数据的页面结构 如果有大量的表格数据&#xff0c;但却没有太大的空间来展示它时&#xff0c;固定标题和页脚&#xff0c;滚动显示表的内容。 地区 1月 2月 3月 第一季度小计 华北小计 2,399 2,487 1,439 6,325 东北小计 1,887 906 1,708 4,501 华…

字符转换为输入流

字符变输入流的2种方法 用StringReader将字符串转化为Reader 用ByteArrayInputStream将字符串转化为InputStream. 还有一个类StringBufferInputStream也可以将String转化为InputStream&#xff0c;但是由于它只支持字符串中每个字符的低八位&#xff0c;所以已经被遗弃了。 PS…

python读取文本数据绘制曲线图

目录写在前面代码reference写在前面 1、本文内容 python读取文本数据曲线图 2、转载请注明出处&#xff1a; https://blog.csdn.net/qq_41102371/article/details/125933558 代码 import matplotlib.pyplot as plt import numpy as npif __name__"__main__":data_…

如今吃蔬菜常见的九大误区

久存蔬菜新鲜的青菜&#xff0c;买来存放家里不吃&#xff0c;便会慢慢损失一些维生素。如菠菜在20摄氏度时放置一天&#xff0c;维生素C损失达84%。若要保存蔬菜&#xff0c;应在避光&#xff0c;通风&#xff0c;干燥的地方贮存。丢弃了含维生素最丰富的部分例如豆芽&#xf…

数值积分方法:欧拉积分、中点积分和龙格-库塔法积分

目录写在前面原理代码CMakeLists.txteuler.cppmidpoint.cpprk4.cppcompile&run参考完写在前面 1、本文内容 数值积分方法&#xff1a;欧拉积分&#xff08;Euler method&#xff09;、中点积分&#xff08;Midpoint method&#xff09;和龙格&#xff0d;库塔法积分&#…

结合企业实例谈IT规划过程

当前&#xff0c;随着国家“十二五”规划的出台&#xff0c;各行各业正在各自的“十二五”规划&#xff0c;其中信息化规划是其重要的一个组成部分。有实力的公司一般会邀请专业的咨询公司&#xff0c;通过咨询项目进行信息化规划&#xff0c;但是国外咨询公司高昂的咨询费令国…

qt点云配准软件

目录写在前面使用打开软件选择source点云&#xff0c;target点云设置体素网格大小voxel_size粗配准精配准参考完写在前面 1、本文内容 一款使用qt与open3d开发的点云配准软件&#xff0c;需要源码以及定制其他功能请私信。 2、平台 windows10与linux通用 3、软件下载 share_…

使用DLL技术的木马分析

"木马"大家都不陌生&#xff0c;给我们的系统安全带来很大的危害。而且现在的木马采用的技术越来越高&#xff0c;开始采用以".exe或.com"为后缀的可执行文件&#xff0c;但这种技术隐蔽性很差&#xff0c;将木马进程注册为系统服务后&#xff0c;虽然在WI…