【问题标题】:coc-clangd has issues with gtkmm-4.0coc-clangd 与 gtkmm-4.0 存在问题
【发布时间】:2021-07-10 15:27:32
【问题描述】:

我有来自gtkmm 文档的hello world 程序。我可以使用以下方法编译程序而不会出现任何问题:

g++ -o example main.cc example.cc `pkg-config "gtkmm-4.0" --cflags --libs`

但是一进入neovim,coc-clangd就报错了:

In included file: no template named 'is_base_of_v' in namespace 'std'; did you mean 'is_base_of'?

这发生在#include "gtkmm/application.h"

:CocInfo

vim version: NVIM v0.5.0
node version: v14.15.5
coc.nvim version: 0.0.80-37132cfc36
coc.nvim directory: /home/blah/.config/nvim/plugged/coc.nvim
term: tmux
platform: linux

clangd 是12.0.0

PS:我确实有一个使用 intercept-build 实用程序生成的 compile_commands.json 文件

【问题讨论】:

    标签: c++ clang++ clangd


    【解决方案1】:

    不知道你现在解决了没有,我遇到了和你一样的问题。本来以为是clangd的问题,但是查了is_base_of_v,发现只有C++17之后才有。如果您使用 cmake 生成项目,只需添加:

    set_property(TARGET ${target_name} PROPERTY CXX_STANDARD 17)
    

    到您的 CMakeLists.txt 以将 C++ 标准设置为 C++17。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多