关于ubuntu下vscode+C/C++多项目文件的编译与调试

最近要使用ubuntu系统做开发,习惯了windows下的vs,在ubuntu下暂时没有找到好的IDE可以使用,后面发现微软有推出vscode的轻量化编辑器,故研究了一段时间。在网上学习后发现针对多文件的调试很不方便,大部分都是使用task.json和launch.json,这块我很不熟悉,有点一筹莫展,经同事指点发现了简单的调试过程。

1.先看下示例文件:

关于ubuntu下vscode+C/C++多项目文件的编译与调试_第1张图片
b.h

#ifndef B_FILE_HEADER_INC
#define B_FIEL_HEADER_INC

#include

double cal_sqrt(double value);

#endif

b.c

#include "b.h"

double cal_sqrt(double value)
{
    return sqrt(value);
}

main.c

#include "b.h"
#include 
int main(int argc, char** argv)
{
    double a = 49.0; 
    double b = 0.0;

    printf("input a:%f\n",a);
    b = cal_sqrt(a);
    printf("sqrt result:%f\n",b);
    return 0;
}

注:cmake版本可能对编译调试有所影响,尽可能高,我的是3.14.6.
查看方式:打开终端-cmake --version

CMakeLists.txt

#1.cmake verson,指定cmake版本 
cmake_minimum_required(VERSION 3.2)

#2.project name,指定项目的名称,一般和项目的文件夹名称对应
PROJECT(test_sqrt)

#set(CMAKE_CXX_STANDARD 11)#c++11
#set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
#3.head file path,头文件目录
INCLUDE_DIRECTORIES(
include
)
#add_library(${PROJECT_NAME}  src/b.c)#添加为库文件

#4.source directory,源文件目录
AUX_SOURCE_DIRECTORY(src DIR_SRCS)

#5.set environment variable,设置环境变量,编译用到的源文件全部都要放到这里,否则编译能够通过,但是执行的时候会出现各种问题,比如"symbol lookup error xxxxx , undefined symbol"
SET(TEST_MATH  ${DIR_SRCS})

#6.add executable file,添加要编译的可执行文件
ADD_EXECUTABLE(${PROJECT_NAME} ${TEST_MATH})

#7.add link library,添加可执行文件所需要的库,比如我们用到了libm.so(命名规则:lib+name+.so),就添加该库的名称
TARGET_LINK_LIBRARIES(${PROJECT_NAME} m)

2.编译文件

只是编译的话方法比较简单:1打开终端;2 打开编译文件夹;3 cd build; 4 cmake …;5 make; 6 ./test_sqrt

3.多文件调试

找到vscode最下面一行:
关于ubuntu下vscode+C/C++多项目文件的编译与调试_第2张图片点击下面工具
在这里插入图片描述
选择unspecified
关于ubuntu下vscode+C/C++多项目文件的编译与调试_第3张图片
点击cmake小工具,没有的话可能需要在扩展里添加cmake 和cmaketools,这两个工具平时用得上,最好添加以下吧
在这里插入图片描述
选择debug
关于ubuntu下vscode+C/C++多项目文件的编译与调试_第4张图片
点击build(感觉这步可以省略。。。)

在这里插入图片描述
点击小甲壳虫,进行调试(前提是在文件中设置好断点)
在这里插入图片描述

你可能感兴趣的:(ubuntu)