gpt4 book ai didi

c++11 - 为 C++ 标准库配置 clang-check

转载 作者:行者123 更新时间:2023-12-04 01:43:26 29 4
gpt4 key购买 nike

我正在尝试将 Ale 作为我的 linter 运行,它又使用 clang-check 来检查我的代码。

$ clang-check FeatureManager.h
Error while trying to load a compilation database:
Could not auto-detect compilation database for file "FeatureManager.h"
No compilation database found in /home/babbleshack/ or any parent directory
json-compilation-database: Error while opening JSON database: No such file or directory
Running without flags.
/home/babbleshack/FeatureManager.h:6:10: fatal error: 'unordered_map' file not found
#include <unordered_map>
^~~~~~~~~~~~~~~
1 error generated.
Error while processing /home/babbleshack/FeatureManager.h.

而使用 clang++ 编译仅返回警告。

$ clang++ -std=c++11 -Wall FeatureManager.cxx FeatureManager.h
clang-5.0: warning: treating 'c-header' input as 'c++-header' when in C++ mode, this behavior is deprecated [-Wdeprecated]

没有允许我设置编译标志的 clang-check 标志。

最佳答案

花了一些时间才弄明白这一点,但你可以做到

clang-check file.cxx -- -Wall -std=c++11 -x c++

或者如果你正在使用 clang-tidy

clang-tidy file.cxx -- -Wall -std=c++11 -x c++

为了让两者都与 ALE 一起工作,我将以下内容添加到我的 vimrc

让 g:ale_cpp_clangtidy_options = '-Wall -std=c++11 -x c++'
让 g:ale_cpp_clangcheck_options = '-- -Wall -std=c++11 -x c++'

如果您希望 ALE 也适用于 C,则必须对 g:ale_c_clangtidy_optionsg:ale_c_clangcheck_options 执行相同的操作。

关于c++11 - 为 C++ 标准库配置 clang-check,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47583057/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com