【小白入门教程】Ubuntu16.04环境下面用Visual Studio Code编译调试C++项目

编译工具还是:cmake
调试工具是:VScode的自己的 launch.json 文件

首先就是借助camke生成可执行程序
有了可执行程序才能调试

具体操作看教程吧

安装VScode

官方下载:https://code.visualstudio.com/Download

运行如下命令安装deb安装包
sudo dpkg -i

官方使用:https://code.visualstudio.com/docs/cpp/cmake-linux
这里是VScode自己生成可执行程序的教程很复杂不喜欢舍弃

点击左侧栏的“Extensions”选项,安装扩展搜索“C++、C++Clang、Cmake、Cmake Tools”

由于VScode是以文件夹的形式管理工程的,因此我们首先新建一个文件夹
通过VScode打开此文件夹,新建源码文件 main.cpp 和编译文件CMakeLists.txt

在CMakeLists.txt中设置build类型为“debug”,相比release可能运行速度会慢一些,因为需要一些调试信息。

SET(CMAKE_BUILD_TYPE Debug)

使用Cmake工具编译源文件生成可执行程序

首先我们把编译文件CMakeLists.txt复制到另外一个地方
在这里插入图片描述
我们的目录下面只有一个源码文件和一张图片,然后用VScode打开这个目录
在这里插入图片描述
然后打开源码文件,接着键盘输入 ctrl+shift+p 搜索窗口输入 cmake configure
在这里插入图片描述屏幕右下角会弹出下图,点击 create
在这里插入图片描述屏幕上方出现输入框,输入一个camke工程的名字 “cmake_vsc” 然后回车
在这里插入图片描述
出现下面这个窗口,选择生成可执行程序
在这里插入图片描述
回车之后自动打开这个文件 可以看到工程名字 是我们上面设置的,现在我们把之前的CMakeLists.txt拷贝过来,删掉main.cpp
在这里插入图片描述操作之后如下图所示
在这里插入图片描述然后键盘输入 ctrl+shift+p 搜索窗口输入 cmake 选择build如下图所示
在这里插入图片描述可以看到编译好了
在这里插入图片描述

配置Visual Studio Code 的调试文件 launch.json

点击顶部菜单栏 Run->Start Debugging
在这里插入图片描述
在这里插入图片描述选择 C++(GDB/LLDB)
在这里插入图片描述
弹出 launch.json 文件,作如下修改
修改 program 后的文件为你的工程生成的可执行文件的路径,修改后是这样的

"program": "${workspaceFolder}/build/bin/online_pcalib_demo",

修改 args 后面 [] 内为你程序运行需要的参数

"args": ["-i", "/media/wyb/myspace/Study/DATA/Indoor/1095_dir_2018_11_08_22_35_04/imageDir"],

在这里插入图片描述打开源码文件,设置断点,然后点击上方的 Run 然后点击 StartDebugging 就可以调试了,如图所示
在这里插入图片描述
上面是cmake 和 Visual Studio Code 组合编译调试程序

下面是 g++ 和 Visual Studio Code 组合编译调试程序

配置 Visual Studio Code 的编译文件task.json

建立新的文件,只保留下面这两个文件
在这里插入图片描述
按照上面方法创建好 launch.json 文件,下面开始创建 task.json 文件

键盘输入 ctrl + shift + p 执行如下操作 Tasks: Run task
在这里插入图片描述选择:No task to run found. configure tasks…
在这里插入图片描述选择:Others
在这里插入图片描述
选择:Create tasks.json file from template
在这里插入图片描述
其实真正修改的也就只有command项和args项,
command就是调用的控制台命令(就是我们平常用控制台编译时输入的命令),
然后args就是命令行参数了,-g参数是必须的,否则到时候没有调试信息,vscode会无法设置断点。
设置"externalConsole"为true,则会自动开启终端显示程序输出的信息。
参考文档:https://blog.csdn.net/weixin_43374723/article/details/84064644

猜你喜欢

转载自blog.csdn.net/qq_21950671/article/details/107018811