作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们正在通过(除其他外)修复所有编译器警告来整理我们的代码库。
最终目标是打开将所有警告转换为错误的标志。我们遇到了系统和第三方 header 的轻微障碍。某些系统 header 会导致各种编译器发出警告。现在显然我们不能修改系统 header 来修复这些警告。
使用 intel 编译器(和 gcc),在构建包含路径时,您只需使用 -isystem 而不是 -I 来告诉编译器这些目录中的 header 是系统 header ,并且它会停止对它们发出警告。然后只需打开 -Werror 标志即可。
我们还使用 Sun Studio 12,标志 -errwarn=%all 应该等同于 -Werror,但我找不到告诉编译器忽略系统/第三方 header 中的警告的方法。有 -errhdr 标志,但这似乎无法满足我的要求。
有谁知道如何使用 Sun Studio 12 完成此操作?
最佳答案
显然,这不是您想要的,但是如果没有更好的东西,您可以将有问题的包含包装在#pragma error_messages block 中。例如
#pragma error_messages (on , tag .. tag)
#include <map>
// etc
#pragma error_messages (default , tag .. tag)
描述here .我目前无法访问 Solaris,所以我还没有尝试过。
关于c++ - 如何在 Sun Studio 12 中禁用系统 header 的警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4804754/
我是一名优秀的程序员,十分优秀!