如何使用 CMAKE_EXPORT_COMPILE_COMMANDS?

2023-08-26C/C++开发问题
184

本文介绍了如何使用 CMAKE_EXPORT_COMPILE_COMMANDS?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我一直在尝试将 clang-modernizeCMAKE_EXPORT_COMPILE_COMMANDS 结合使用,如在此工具的帮助中推荐的那样.

I've been trying to use clang-modernize with CMAKE_EXPORT_COMPILE_COMMANDS as recommended in the help of this tool.

使用此选项,cmake 会生成一个包含编译信息的 JSON 文件,例如包含路径(另见).

With this option cmake generates a JSON file containing compile info like include paths (see also).

这个变量在cmake的命令行中被接受,但是 cmake --help-variable CMAKE_EXPORT_COMPILE_COMMANDS 不起作用(这与 此邮件列表发布).

This variable is accepted on the command line of cmake, but cmake --help-variable CMAKE_EXPORT_COMPILE_COMMANDS doesn't work (which is coherent with this mailing list posting).

有人知道如何使用它吗?

Has someone any idea on how to use it?

我也可以将它与 cppcheck 一起使用.

I could also use it with cppcheck.

更多信息

我在 clang 开发者论坛 指出此 cmake 功能并非在所有生成器上都可用.这在未来可能会改变,同时我的问题仍然存在,我也会尝试看看如果我使用 Visual Studio 以外的其他生成器会发生什么.

I've discovered on a clang developer forum that this cmake feature is not available on all generators. This might change in the future, in the mean time my question remains and I will try too see what happen if I use other generators than Visual Studio.

推荐答案

我建议设置

set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

在 CMakeList.txt 中

in the CMakeList.txt

这篇关于如何使用 CMAKE_EXPORT_COMPILE_COMMANDS?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

无法访问 C++ std::set 中对象的非常量成员函数
Unable to access non-const member functions of objects in C++ std::set(无法访问 C++ std::set 中对象的非常量成员函数)...
2024-08-14 C/C++开发问题
17

从 lambda 构造 std::function 参数
Constructing std::function argument from lambda(从 lambda 构造 std::function 参数)...
2024-08-14 C/C++开发问题
25

STL BigInt 类实现
STL BigInt class implementation(STL BigInt 类实现)...
2024-08-14 C/C++开发问题
3

使用 std::atomic 和 std::condition_variable 同步不可靠
Sync is unreliable using std::atomic and std::condition_variable(使用 std::atomic 和 std::condition_variable 同步不可靠)...
2024-08-14 C/C++开发问题
17

在 STL 中将列表元素移动到末尾
Move list element to the end in STL(在 STL 中将列表元素移动到末尾)...
2024-08-14 C/C++开发问题
9

为什么禁止对存储在 STL 容器中的类重载 operator&()?
Why is overloading operatoramp;() prohibited for classes stored in STL containers?(为什么禁止对存储在 STL 容器中的类重载 operatoramp;()?)...
2024-08-14 C/C++开发问题
6