cmake编译数据库

在使用CMake进行编译时,如果你想生成编译数据库,你可以定义CMAKE_EXPORT_COMPILE_COMMANDS选项。具体的命令如下:

bash 复制代码
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1

或者在CMakeLists.txt显示的使能配置

复制代码
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

这将会生成一个compile_commands.json文件,这个文件可以有效提高一些工具(比如ccls,vscode)的代码跳转、补全等功能。

如果你的工程是使用Makefile来编译的,没有现成的选项可以生成compile_commands.json文件,你可以通过Bear来生成,而且不需要改动代码。具体的命令如下:

bash 复制代码
bear make -j

这就是在原有编译命令之前加上bear即可。生成之后你就可以享受更精准的跳转和补全了。

相关推荐
把我格子衫拿来3 天前
VTK 与 Qt 的 CMake 工程怎么组织?模块、工具链与二进制兼容排错
c++·qt·vtk·cmake·工程实践
JMchen10 天前
集成第三方 C/C++ 库到 Android NDK 项目:OpenCV 与 FFmpeg 实战指南
android·opencv·cmake
阿钱真强道22 天前
15 嵌入式操作系统 | 库的下载、编译、安装与验证(libubox / ubus / uci)
ubuntu·cmake·uci·ubus·libubox
阿钱真强道23 天前
22 嵌入式操作系统 | 串口命令行调试(socat / stty / printf / hexdump)
ubuntu·cmake·uci·ubus·libubox
五_谷_丰_登1 个月前
cmake脚本学习——持续更新
脚本·cmake
程序员老陆1 个月前
CMake 常用关键字与命令全景:从 set到 target_link_options的现代工程视角
c++·cmake·程序开发
idealzouhu1 个月前
现代 CMake 依赖管理详解:从构建树、Target 封装到 find_package 工作原理
c++·cmake
小王C语言1 个月前
cmake教程
c++·cmake
雾里看山2 个月前
源码目录、构建目录与 out-of-source build
c++·软件构建·cmake
ysu_03142 个月前
工具链通关02-CMake进阶超100个文件
cmake