如何强制 clang 使用 system(ubuntu) STL 标头而不是 clang 的
How to force clang to check semantic with system(ubuntu) STL header instead of clang's
当我尝试使用 clang++ 来检测语义时我的程序可以用gcc编译。当我使用 clang 来检测语义时,我得到:
错误| 没有可行的重载 '*='
问题发生在我从开源项目中包含的一个标题
std::vector<double> Hc;
checksum(H,Hc);
Hc*=1.0/mrpt::math::maximum(Hc);
我认为问题在于 clang 的 STLib 标头与我的 Ubuntu 的 C++ 标头不同,并且它们没有覆盖*=
选择。我添加了
-std=c++11
-stdlib=libc++11
-nodefaultlibs
并尝试了这个 http://libcxx.llvm.org 但唯一的错误仍然存在。确实,我正在尝试YouCompleteMe
插件vim
.这个插件只需要编译语义,没有链接步骤。而且我无法更改标题。 '-isystem
并不能解决问题'我应该怎么做才能强制 clang 使用系统 STL 标头而不是 clang 的标头检查语义?
对于记录,这确实是MRPT标头中的一个错误,最近已解决。所以,这不是 clang++ 的错,事实上较新的 gcc 6.0 也检测到了错误。
相关文章:
- 在C++STL中是否有Polyval(Matlab函数)等价物?
- 为什么这个运算符<重载函数对 STL 算法不可见?
- 奇怪的结构&GCC&clang(void*返回类型)
- 在C应用程序中运行C++(带有STL)函数
- 使用2个键的cpp-stl::优先级队列排序不正确
- 数据成员SFINAE的C++17测试:gcc vs clang
- 当我编译webrtc服务器时,Windows上只支持clang-cl
- 为什么在Windows上的VS 2019和Clang 9中"size_t"在没有标题的情况下工作
- 我可以将一个用clang c++11编译的对象与另一个用c++17编译的对象链接起来吗
- Clang bug?使用指针作为模板参数
- clang整洁10忽略了我的NOLINT命令
- 如何防止clang格式在流运算符调用之间添加换行符<<
- 在clang++预处理器中确定gcc工具链版本
- 为什么 Clang 不允许"and"作为函数名称?
- 在STL容器中使用模板类
- 带有 -stdlib=libc++ 的 clang++ 9.0.1 找不到<optional>
- clang格式:宏的缩进
- RIOS X Mavericks上使用clang++构建的内部示例在链接上找不到STL标准库
- 如何强制 clang 使用 system(ubuntu) STL 标头而不是 clang 的
- 与 MinGW STL 的 Clang (错误:全局命名空间中没有名为 'fgetws' 的成员)