首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我应该如何配置clangd,使其扫描我用CMake FetchContent下载的库?

我应该如何配置clangd,使其扫描我用CMake FetchContent下载的库?
EN

Stack Overflow用户
提问于 2022-08-15 03:20:40
回答 1查看 244关注 0票数 0

我使用CMake FetchContent下载nlohmann/json。但下载后我的响尾蛇不会扫描图书馆。那么我该如何配置我的clangd呢?

我的CMakeLists.txt:

代码语言:javascript
运行
复制
cmake_minimum_required(VERSION 3.11)
project(ExampleProject LANGUAGES CXX)

include(FetchContent)

FetchContent_Declare(json URL https://github.com/nlohmann/json/releases/download/v3.11.2/json.tar.xz)
FetchContent_MakeAvailable(json)

add_executable(example main.cc)
target_link_libraries(example PRIVATE nlohmann_json::nlohmann_json)

我的代码main.cc:

代码语言:javascript
运行
复制
#include <iostream>
#include <nlohmann/json.hpp>

using json = nlohmann::json;

int main()
{
    json object = { { "one", 1 }, { "two", 2 } };
    std::cout << object << '\n';
    return 0;
}

我的响尾蛇说:

代码语言:javascript
运行
复制
main.cc|2 col 10-29 error| 'nlohmann/json.hpp' file not found
main.cc|4 col 14-22 error| Use of undeclared identifier 'nlohmann'
main.cc|8 col 5-9 error| Unknown type name 'json'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-21 04:14:55

现在我知道如何解决这个问题了。

使用CMake时,将CMAKE_EXPORT_COMPILE_COMMANDS设置为1,以使CMake生成文件compile_commands.json。Clangd会自动扫描这个文件,并跟随它扫描第三方库.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73356618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档