Ubuntu使用cmake和vscode开发自己的项目

创建文件夹

mkdir my_proj

继续创建include 和 src文件夹,形成如下的目录结构

用vscode打开项目

创建add.h

#ifndef ADD_H
#define ADD_H
 
int add(int numA, int numB);
 
#endif

add.cpp

#include "add.h"
 
int add(int numA, int numB)
{
    return numA + numB;
}

main.cpp

#include 
#include "add.h"
 
int main()
{
   std::cout << "numA + numB = " << add(10,20) <

形成这样的目录结构

Ubuntu使用cmake和vscode开发自己的项目_第1张图片

在my_proj中创建CMakeLists.txt,写入如下内容

cmake_minimum_required(VERSION 2.8)

project(test)

set( CMAKE_BUILD_TYPE "Debug" )

include_directories(./include)

set(SRC_LIST ./src/add.cpp ./src/main.cpp)

add_executable(main ${SRC_LIST})

BUILD_TYPR 设置为Debug可以打断点调试

在my_proj中创建build.sh,写入如下内容

mkdir build
cd build
cmake ..
make

修改build.sh文件的权限

chmod +x build.sh

运行build.sh

Ubuntu使用cmake和vscode开发自己的项目_第2张图片

在build文件夹中,会生成一个main的可执行程序,将它的路径记下来

在vscode中ctrl+shift+d 创建一个launch.json,将刚才的main的可执行程序的路径复制到“program”:

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "(gdb) Launch",
      "type": "cppdbg",
      "request": "launch",
      "program": "/home/robotics/my_proj/build/main",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${fileDirname}",
      "environment": [],
      "externalConsole": false,
      "MIMode": "gdb",
      "setupCommands": [
          {
              "description": "Enable pretty-printing for gdb",
              "text": "-enable-pretty-printing",
              "ignoreFailures": true
          },
          {
              "description": "Set Disassembly Flavor to Intel",
              "text": "-gdb-set disassembly-flavor intel",
              "ignoreFailures": true
          }
      ]
    }
  ]
}

c_cpp_properties.json这样写

{
    "configurations": [
        {
            "name": "linux-gcc-x64",
            "includePath": [
                "${workspaceFolder}/**",
                "${workspaceFolder}/include"
            ],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "${default}",
            "cppStandard": "${default}",
            "intelliSenseMode": "linux-gcc-x64",
            "compilerArgs": [
                ""
            ]
        }
    ],
    "version": 4
}

然后就可以打上断点调试了

你可能感兴趣的:(ubuntu,vscode,linux)