Ubuntu下使用VS Code对项目编译调试&添加外部库

Ubuntu系统下使用VS Code对一个C++项目编译调试&添加外部库
最近在学习slam,在ubuntu下写代码很不习惯,以前基本都在使用vs,所以找了vs code来写代码。

1.安装准备

  • 安装vscode
  • 在左边栏Extensions(快捷键Ctrl+Shift+X)中搜索“C/C++, C++ Intellisense,CMake Tools”并install

2.编译调试

2.1.文件准备

一般来说,一个项目文件夹里有源文件CMakeLists.txt。如果你需要在VS Code中调试,那么CMakeLists.txt文件中必须设置成Debug模式,即包含命令行

set( CMAKE_BUILD_TYPE "Debug" )

2.2.编译调试

  • 打开文件:在vs code中打开项目文件夹
  • 编译:按Ctrl+Shift+P打开控制台(以后会经常用),输入cmake即可看到CMake:build命令,点击之后就会直接在项目文件下新建一个build文件夹,并将生成目标放至build文件夹下,与直接在终端中cmake..make类似。
  • 调试:点击界面左侧运行和调试图标(快捷键Ctrl+Shift+D),点击创建launch.json,出现如下界面Ubuntu下使用VS Code对项目编译调试&添加外部库_第1张图片
    选择第一项C++(GDB/LLDB),然后在下面界面中选择默认配置
    Ubuntu下使用VS Code对项目编译调试&添加外部库_第2张图片
    到此,就会发现新建了一个叫launch,json的文件,包含了如下图所示的代码
{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动",
            "type": "cppdbg",
            "request": "launch",
            "program": "输入程序名称,例如 ${workspaceFolder}/a.out",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

将其中"program": "输入程序名称,例如 ${workspaceFolder}/a.out"修改为自己项目生成可执行文件的路径,一般是"program": " ${workspaceFolder}/build/可执行文件名",点击保存,然后就可以像VS一样进行断点调试了。

3.添加外部依赖项

在vs code中对于一些外部的库,如果添加路径就无法获得一些函数的相关提示,就会像下面这样,检测到include错误。
在这里插入图片描述

  • 方法1:先前我们已经安装了C++ Intellisense模块,直接点击下图所示的小黄灯
    在这里插入图片描述
    然后点击添加到"includePath":usr/include/eigen3就会自动修复并添加路径,同时会新创建一个c_cpp_properties.json文件。
  • 方法2:按Ctrl+Shift+P打开控制台,输入edit会出现C/C++:编辑配置,点击这一项就会出现一个c_cpp_properties.json文件,如下图所示
{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "clang-x64"
        }
    ],
    "version": 4
}

将所需要的库路径添加到"includePath": [ "${workspaceFolder}/**"],中就可以完成方法1中相同设置。
之后在源文件中就可以获得库所包含函数的相关提示了。

你可能感兴趣的:(Ubuntu下使用VS Code对项目编译调试&添加外部库)