关于linux下vscode+CMakefileLists配置的问题

最近试图想用vscode+gcc在ubuntu上配置环境,但是发现build项目的时候还是要通过camke+vscode解决,简单的使用code.runner回产生依赖不清楚的问题;

基本工具需求:

在vscode的extension中装好基本得部件,CMake,CMakeTools等工具;

并且创建launch.json和tasks.json两个文件,这里不再赘述,自动生成即可;

这里注意下launch.json和tasks.json的作用;

launch.json主要指示了gdb调试下应该去哪里找执行文件,并且调试或者执行的时候的具体执行参数,执行方式是什么;

而tasks.json则主要说明了launch.json中某个task应该执行,执行参数是什么;

后续则需要CMakeLists.txt;

CMakeLists.txt内容形式:

CMakeLists.txt则是为了辅助CMake编译存在的;

简单demo的大致形式如下:


cmake_minimum_required (VERSION 2.8) #最低要求的CMake版本
project(CStart) # 项目名称
file(GLOB SRC_FILE *.cpp) # 建立变量SRC_FILE为目录下.c文件列表
add_executable (${PROJECT_NAME} ${SRC_FILE}) # 要求编译可执行文件
add_definitions("-Wall -g")

在CMakeList.txt存在后,按这两个键,会直接编译;
在这里插入图片描述
在工作目录下,会直接生成build文件,文件内部有相应的目标文件结果;

当然也可以在工作目录下执行cmake->make,进行手动编译;

如何调试:

调试则需要在上述的基础上,进行launch.json的配置;

在这里插入图片描述
首先线自动生成,但是一定要修改和注意以下参数:

  1. program:代表需要调试的目标二进制文件,这里一定要注意路径问题,一定是当前目录下生成的build目录内的最终文件;
  2. stopAtEntry:设置成false;
  3. preLaunchTask:由于每次打断点修改后,都要重新走一遍编译,可以设置一个build task,在每次调试前提前编译一下;

如果设置了上述第三个参数,则需要设置tasks.json:

在这里插入图片描述
这里label代表launch内的自定义的task名字;
cwd指向build路径;
command表示要执行的类型;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值