ros/vscode使用compile_commands.json配置includePath环境


created: 2021-08-22T20:20:26 (UTC +08:00) tags: [vscode使用compile_commands.json配置includePath环境] source: https://blog.csdn.net/qq_37868450/article/details/105013325 author:

Excerpt

文章目录vscode使用cmake选项配置includePath1.使用cmake导出compile_commands.json1.常规程序2.ros下使用2.向vscode中添加json文件1.生成c_cpp_properties.json文件vscode使用cmake选项配置includePath  使用vscode进行c++代码编写时,配置代码includePath能够提供函数跳转,自动...


明霁天明 2020-03-21 18:28:46 8757 收藏 26

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

使用vscode进行c++代码编写时,配置代码includePath能够提供函数跳转,自动补全以及报错等帮助。由于有些库的路径不太好找且逐条添加到vscode中过于繁琐,本处介绍使用cmake导出json的方式介绍配置vscode环境(适用于CMakeLists.txt编译方式)。

1.使用cmake导出compile_commands.json

1.常规程序

本处在build文件夹下编译程序,导出方式如下:

cd project_dir
mkdir build  
cd build
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=YES ..

make

在上面使用cmake时通过添加选项

-DCMAKE_EXPORT_COMPILE_COMMANDS=YES

导出了cmake预编译时查询的编译环境,可在build下找到compile_commands.json文件。

2.ros下使用

使用ROS的同学同样可以通过添加该选项来生成json文件,编译时命令如下:

catkin_make -DCMAKE_EXPORT_COMPILE_COMMANDS=YES

编译完成后便可在ros工作空间的build文件下找到compile_commands.json文件

3.在CMakeLists.txt中添加set命令

如果不想在每次编译时在命令行中添加cmake配置命令,一个简单的方式是在CMakeLists.txt的上面添加

set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

这样就不用每次都在终端中输入繁琐的配置命令,直接使用cmake便可以生成compile_commands.json文件

2.向vscode中添加json文件

1.生成c_cpp_properties.json文件

在vscode中使用_ctrl++shift+P_打开Command Palette,运行

C/Cpp: Edit configurations(JSON)

将会在.vscode文件夹下生成c_cpp_properties.json文件,打开后新增compileCommands选项,将第一部分生成的compile_commands.json文件路径添加到c_cpp_properties.json的compileCommands下,样式如下图所示:
在这里插入图片描述
这样便在vscode的工程添加了CMakeLists中选定的环境


本文章使用limfx的vscode插件快速发布