首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用系统(Ubuntu) STL头而不是clang来强制clang检查语义

如何使用系统(Ubuntu) STL头而不是clang来强制clang检查语义
EN

Stack Overflow用户
提问于 2015-04-28 11:18:58
回答 1查看 207关注 0票数 1

当我尝试使用clang++来检测语义时,我的程序可以用gcc编译。当我使用clang检测语义时,我得到:

错误/没有可行的重载'*=‘

问题发生在我从开源项目中包含的一个标头上。

代码语言:javascript
复制
std::vector<double> Hc;
checksum(H,Hc);
Hc*=1.0/mrpt::math::maximum(Hc);

我认为问题是因为clang的STLib头与我的Ubuntu的C++头不同,并且它们没有覆盖*= opt。我加了

代码语言:javascript
复制
 -std=c++11 
 -stdlib=libc++11 
 -nodefaultlibs 

并尝试了这个http://libcxx.llvm.org,但唯一的错误仍然存在。事实上,我正在尝试YouCompleteMe插件的vim。这个插件只需要编译语义,不需要链接步骤。我也不能改变头像。'-isystem没有解决‘我应该做什么来强制clang检查系统STL头而不是clang的语义?

EN

回答 1

Stack Overflow用户

发布于 2016-02-06 00:39:05

对于记录来说,这确实是MRPT头中的一个错误,最近解决了这个问题。所以,这不是clang++的错,其实更新的gcc 6.0也检测到了错误。

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

https://stackoverflow.com/questions/29918008

复制
相关文章

相似问题

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