Vim YouCompleteMe clang-completer 抱怨它找不到 Eigen(C++ 库)调用它的"omp.h"文件



我使用的是Vim的YouCompleteMe C语义补全器,它安装有--clang补全器标志。它抱怨找不到Eigen/Core库文件中使用的"omp.h"文件。错误消息如下:

In included file: 'omp.h' file not found  /usr/include/eigen3/Eigen/Core:247:10: note: error occurred here [pp_file_not_found]

代码编译和运行都很完美,所以我知道这不是真正的问题,YouCompleteMe也有问题。我试过同时使用clang和clangd,没关系,同样的问题。

如果我只是从compile_command.json文件中删除-fopenmp,它就解决了这个问题。

提前谢谢。

llvm.org中预构建的clangs不包括openmp。YCM包含预构建的llvm.org包中clang资源目录的副本,因此找不到"omp.h"(它是资源目录的一部分(。

如果您需要使用openmp,那么我建议您将g:ycm_clangd_binary_path设置为指向一个clangd,该clangd安装在包含openmp的llvm工具链旁边。

最新更新