ubuntu18.04下vscode使用CMakeLists管理C++项目并断点调试

本文详细指导如何在Ubuntu18.04环境下,利用VSCode和CMake配置C++项目,包括安装插件、创建目录、添加源文件、CMake配置、子目录管理、断点调试和编译设置,帮助开发者高效开发和调试C++应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 安装插件

在vscode中安装C/C++ IntelliSense和CMake扩展。
在这里插入图片描述

2 创建项目目录

在本地磁盘上创建一个目录,如我本地/root/Documents/dechat,将dechat文件夹添加到vscode的工作空间workspace,如下:
在这里插入图片描述

3 添加源代码文件

为了演示方便,我们在dechat根目录下程序入口文件main.cpp和一个文件夹src,在src下添加类文件worker.h、worker.cpp。在src下添加子文件夹util, util文件夹下添加一个数学类文件dcmath.h、dcmath.cpp。项目目录结构如下:
在这里插入图片描述

4 初始化CMake项目配置

按下Ctrl+Shift+P,在弹出的对话框中选择CMake: Quick Start
在这里插入图片描述
输入项目名称
在这里插入图片描述
选择C++项目类型
在这里插入图片描述
选择可执行程序类型
在这里插入图片描述
此时在dechat目录下生成CMakeLists.txt文件和build目录
在这里插入图片描述

5 添加子目录CMakeLists.txt

在子目录util下添加文件CMakeLists.txt,编辑内容如下:

add_library(utilTarget
    DCMath.cpp
)

target_include_directories(utilTarget PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})

在这里插入图片描述
接着,需要在主CMakeLists.txt添加对子目录的引用,如下

# add sub dir
add_subdirectory(src/util)

# add include dir
target_include_directories(${deamon_name} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})

# link sub targets
target_link_libraries(${deamon_name} utilTarget)

在这里插入图片描述

6 配置断点调试

点击vscode左侧边栏run and debug按钮,创建一个调试配置文件lunch.json,将program改为"program": "${workspaceFolder}/build/dechat", 如下图
在这里插入图片描述

7 配置编译调试

按下Ctrl+Shift+P,在弹出的对话框中输入Tasks, 选择Tasks: Configure Tasks, 在.vscode目录下生成tasks.json,
在这里插入图片描述

在launch.json加入一行"preLaunchTask": "Build_label"

在这里插入图片描述

9 下断点调试

在main.cpp下一个断点,点击Start Debugging按钮或按F5,则项目将被编译并运行,程序运行到断点则进入调试状态。
在这里插入图片描述

根据引用\[1\]和引用\[2\],在Ubuntu 18.04上安装pcl点云库需要执行以下步骤: 1. 执行以下命令安装libvtk7-dev库: ``` sudo apt-get install libvtk7-dev=7.1.1+dfsg1-2 ``` 2. 在桌面上创建一个名为pcl_test的文件夹,确保文件夹名称与引用\[2\]中的一致。 3. 确保已在Ubuntu上配置了C++环境,即安装了g++和gcc。可以使用以下命令安装: ``` sudo apt install gcc sudo apt install g++ ``` 4. 创建一个CMakeLists.txt文件,内容如下: ``` cmake_minimum_required(VERSION 2.6 FATAL_ERROR) project(pcl_test) find_package(PCL 1.7 REQUIRED) include_directories(${PCL_INCLUDE_DIRS}) link_directories(${PCL_LIBRARY_DIRS}) add_definitions(${PCL_DEFINITIONS}) add_executable(pcl_test pcl_test.cpp) target_link_libraries(pcl_test ${PCL_LIBRARIES}) ``` 请注意,以上步骤是基于引用\[1\]和引用\[2\]提供的信息。 #### 引用[.reference_title] - *1* [ubuntu18.04安装pcl库](https://blog.csdn.net/m0_46371350/article/details/129801273)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [ubuntu18.04安装PCL点云库踩坑指南](https://blog.csdn.net/TLHones/article/details/124788975)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Ubuntu20.04 Ubuntu18.04安装pcl点云库](https://blog.csdn.net/weixin_53660567/article/details/119871890)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值