CMake not generating compile_commands.json
CMake not generating compile_commands.json
我是CMake的新手,我正在尝试创建compile_commands。json文件与clang使用,但我有一些困难生成文件,我不知道为什么。我已经能够使用cmake来编译下面的二进制person
,但在成功之后,我一直无法让它输出编译命令。
我也试过做-DCMAKE_EXPORT_COMPILE_COMMANDS=ON标志,但这也不起作用。到目前为止还没有错误,但也没有输出。
下面是我的CMakeLists.txt文件的样子:cmake_minimum_required (VERSION 2.6)
project (Tutorial)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
add_executable(person Person.cc Pirate.cc main.cc)
这最终成为使用旧版本CMake的问题。我最后安装了最新的版本,它像预期的那样工作。
根据Clang docs
"目前CMake(从2.8.5开始)支持生成编译数据库用于Unix Makefile构建(Ninja构建正在进行中),选项为CMAKE_EXPORT_COMPILE_COMMANDS。"
我也遇到了和你一样的问题。根据CMake doc
因此,没有办法生成compile_commands。这个选项(CMAKE_EXPORT_COMPILE_COMMANDS)只由Makefile generator和Ninja实现。
我有同样的问题,compile_commands.json
不是用cmake生成的,版本3.16.0。它是在我使用Ninja
生成器时生成的,而不是Unix Makefiles
。
这个讨论给了我解决办法:
set(CMAKE_EXPORT_COMPILE_COMMANDS ON) # does not produce the json file
set(CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE INTERNAL "") # works
相关文章:
- 在c++中使用nlohmann从类到json的转换
- C++json插入数组
- nlohmann-json将一个数组插入到另一个数组中
- 如何使用curlpp通过POST方法上传文件和json数据
- JSON转换为nlohmann JSON-lib中的结构数组
- NLOHMANN 的 JSON 库将数组转换为结构向量
- 在nlohmann json中,如何将嵌套对象的数组转换为嵌套结构的向量
- 如何在 nlohmann 的 json 库中获取数组长度?
- UE4 C++ 我无法将 JSON 嵌套值获取到 TArray
- 如何在特定位置追加 json 文件
- 有没有办法让编译器在我放置字符串而不是 nlohmann::json 对象时抛出错误?
- 使用 jsoncpp 解析 json 数组字符串
- 将 FlatBuffer 对象序列化为 JSON,而不使用其架构文件
- 如何在 c++ 非托管代码中反序列化 byte[] 的 json 字符串?
- 使用 cmake 生成 compile_commands.json
- 如何使用 c++ 和提升库生成 json
- 使用 minijson-reader 库读取 JSON 字符串时出现问题
- 使用 Qt 解析 JSON 数组
- 如何使用 picojson.h 在 c++ 中从头开始创建 json 对象
- 在 C++ 中访问 JSON 数组值