linux下基于vscode cmake调试动态库和静态库
1 创建工程目录结构
首先创建工程文件(文件名mymath),VScode打开,进行目录结构创建。工程目录结构如下:
.vscode是存放task.json和launch.json编译调试的文件夹。task.json和launch.json是自动生成的,但是需要根据自己的工程进行修改,后面会具体介绍。
bin是存放最终可执行文件的文件夹;
build是工程编译时生成的一些文件,有点类似于VS中的Debug;
include是工程头文件;
lib是存放生成的动态库和静态库(.a/.so)文件夹;
myadd是动态库库工程;
mymain是主工程;
mysub是静态库库工程;
根目录下的CMakeLists.txt是起到加载子目录,然后编译调试的功能。
2 代码和文件的具体实现
2.1 动态库myadd
头文件myadd.h
源文件myadd.cpp
CMakeLists.txt文件
2.2 静态库mysub
头文件mysub.h
源文件mysub.cpp
CMakeLists.txt文件
2.3 主工程mymain
头文件mymain.cpp
CMakeLists.txt文件
2.4 根目录下的CMakeLists.txt
3 编译和调试
3.1 编译
1、按住ctrl+shift+p,打开命令命令面板,输入CMake: Configure,配置CMake。
2、选择GCC7.5.0 xxxxx选项
3、配置完成后,在最下方会出现一条状态栏。先后执行Build和 run,输出结果。
3.2 调试
工程调试需要配置json文件,task.json 编译,launch.json调试。
- 配置c_cpp_properties.json文件
按住ctrl+shift+p,打开命令命令面板,输入CMake: Configure,配置CMake。
2.配置任务tasks.json文件
按住ctrl+shift+p,打开命令命令面板,输入Tasks: Configure Default Build Task,进行配置。
3. 配置launch.json文件
按下F5进行launch.json文件配置。
4. 最后按下ctrl+F5即可打断点进行调试。
单步运行就可以进入到库工程中,进行调用库的调试。
3.3 结果
当调试完成后,在lib文件夹下会生成动态库和静态库文件(.so/.a),在bin下生成可执行文件exe。