linux下基于vscode cmake调试动态库和静态库

1 创建工程目录结构

首先创建工程文件(文件名mymath),VScode打开,进行目录结构创建。工程目录结构如下:

linux下基于vscode cmake调试动态库和静态库_第1张图片

 .vscode是存放task.json和launch.json编译调试的文件夹。task.json和launch.json是自动生成的,但是需要根据自己的工程进行修改,后面会具体介绍。

linux下基于vscode cmake调试动态库和静态库_第2张图片

bin是存放最终可执行文件的文件夹;

build是工程编译时生成的一些文件,有点类似于VS中的Debug;

include是工程头文件;

linux下基于vscode cmake调试动态库和静态库_第3张图片

lib是存放生成的动态库和静态库(.a/.so)文件夹;

myadd是动态库库工程;

linux下基于vscode cmake调试动态库和静态库_第4张图片

mymain是主工程;

linux下基于vscode cmake调试动态库和静态库_第5张图片

mysub是静态库库工程;

linux下基于vscode cmake调试动态库和静态库_第6张图片

根目录下的CMakeLists.txt是起到加载子目录,然后编译调试的功能。

2 代码和文件的具体实现

2.1 动态库myadd

头文件myadd.h

linux下基于vscode cmake调试动态库和静态库_第7张图片

 源文件myadd.cpp

linux下基于vscode cmake调试动态库和静态库_第8张图片

 CMakeLists.txt文件

linux下基于vscode cmake调试动态库和静态库_第9张图片

2.2 静态库mysub

头文件mysub.h

linux下基于vscode cmake调试动态库和静态库_第10张图片

 源文件mysub.cpp

linux下基于vscode cmake调试动态库和静态库_第11张图片

 CMakeLists.txt文件

linux下基于vscode cmake调试动态库和静态库_第12张图片

2.3 主工程mymain

头文件mymain.cpp

linux下基于vscode cmake调试动态库和静态库_第13张图片

 CMakeLists.txt文件

linux下基于vscode cmake调试动态库和静态库_第14张图片

 2.4 根目录下的CMakeLists.txt

linux下基于vscode cmake调试动态库和静态库_第15张图片

3 编译和调试

3.1 编译

1、按住ctrl+shift+p,打开命令命令面板,输入CMake: Configure,配置CMake。

2、选择GCC7.5.0 xxxxx选项

linux下基于vscode cmake调试动态库和静态库_第16张图片

 3、配置完成后,在最下方会出现一条状态栏。先后执行Build和 run,输出结果。

linux下基于vscode cmake调试动态库和静态库_第17张图片

3.2 调试

工程调试需要配置json文件,task.json 编译,launch.json调试。 

  1. 配置c_cpp_properties.json文件

按住ctrl+shift+p,打开命令命令面板,输入CMake: Configure,配置CMake。

      2.配置任务tasks.json文件

按住ctrl+shift+p,打开命令命令面板,输入Tasks: Configure Default Build Task,进行配置。

linux下基于vscode cmake调试动态库和静态库_第18张图片

linux下基于vscode cmake调试动态库和静态库_第19张图片

  3. 配置launch.json文件

按下F5进行launch.json文件配置。

 linux下基于vscode cmake调试动态库和静态库_第20张图片

       4. 最后按下ctrl+F5即可打断点进行调试。

linux下基于vscode cmake调试动态库和静态库_第21张图片

单步运行就可以进入到库工程中,进行调用库的调试。

linux下基于vscode cmake调试动态库和静态库_第22张图片

3.3 结果

当调试完成后,在lib文件夹下会生成动态库和静态库文件(.so/.a),在bin下生成可执行文件exe。

linux下基于vscode cmake调试动态库和静态库_第23张图片

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