题
我第一次有了一些用clang构建的(旧版)代码。代码类似于: 通用标签
Clang发出以下警告(-Werror
错误):
通用标签
很明显,??>
并不是要用作三元组,因此我想完全禁用三元组(源代码无意在任何地方使用它们)。
我已经尝试过-no-trigraphs
,但这并不是一个选择:
通用标签
我可以使用-Wno-trigraphs
关闭三部曲警告,但我根本不希望三部曲转换真正发生。
注意:启用Trigraph是由于使用-std=c89
带来的意外副作用。
解决方案
尝试使用gnu *模式-“三字组默认在gnu *模式下处于关闭状态;可以通过-trigraphs选项启用它们。”(有关其他区别,请参见 http://clang.llvm.org/docs/UsersManual.html#c_modes 和命令行开关)
其他提示
我看不到禁用三部曲的明显方法(而不是三部曲警告)。修复此代码的最简单方法可能是将其更改为: 通用标签
不隶属于 StackOverflow