最近要使用ubuntu系统做开发,习惯了windows下的vs,在ubuntu下暂时没有找到好的IDE可以使用,后面发现微软有推出vscode的轻量化编辑器,故研究了一段时间。在网上学习后发现针对多文件的调试很不方便,大部分都是使用task.json和launch.json,这块我很不熟悉,有点一筹莫展,经同事指点发现了简单的调试过程。
b.h
#ifndef B_FILE_HEADER_INC #define B_FIEL_HEADER_INC #include<math.h> double cal_sqrt(double value); #endifb.c
#include "b.h" double cal_sqrt(double value) { return sqrt(value); }main.c
#include "b.h" #include <stdio.h> 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)只是编译的话方法比较简单:1打开终端;2 打开编译文件夹;3 cd build; 4 cmake …;5 make; 6 ./test_sqrt
找到vscode最下面一行: 点击下面工具 选择unspecified 点击cmake小工具,没有的话可能需要在扩展里添加cmake 和cmaketools,这两个工具平时用得上,最好添加以下吧 选择debug 点击build(感觉这步可以省略。。。)
点击小甲壳虫,进行调试(前提是在文件中设置好断点)