C++ 如何制作;cc1plus:错误:无法识别的命令行选项;一个带有-Werror的警告?
我有一个使用GCC4.6.3的项目,正在尝试迁移到4.8.2。但是,它需要在4.6上编译一段时间。它正在使用C++ 如何制作;cc1plus:错误:无法识别的命令行选项;一个带有-Werror的警告?,c++,gcc,warnings,command-line-arguments,C++,Gcc,Warnings,Command Line Arguments,我有一个使用GCC4.6.3的项目,正在尝试迁移到4.8.2。但是,它需要在4.6上编译一段时间。它正在使用-Werror,并关闭了一些特定错误。要在GCC4.8中使用Boost1.55,我需要添加-Wno未使用的本地typedef。问题在于,对于-Werror,gcc 4.6会发出以下错误: cc1plus: error: unrecognized command line option "-Wno-unused-local-typedefs" [-Werror] 没有任何迹象表明此特定警告
-Werror
,并关闭了一些特定错误。要在GCC4.8中使用Boost1.55,我需要添加-Wno未使用的本地typedef
。问题在于,对于-Werror
,gcc 4.6会发出以下错误:
cc1plus: error: unrecognized command line option "-Wno-unused-local-typedefs" [-Werror]
没有任何迹象表明此特定警告可以明确视为警告而不是错误。有没有办法让4.6将此视为警告?您的构建系统是什么?生成文件?克马克?还有什么?根据文档(并通过gcc 4.6.4的实验得到证实,这是我手头上最古老的gcc),即使
-Wno unknown warning
表单触发错误,也不应触发错误。(在-Wfatal errors
之后的第二段,非常接近页面顶部。)您使用的是哪个版本的gcc
?版本是4.6.3和4.8.2。根据文档,-Wno未知警告不应触发错误。。。但是如果指定了-Werror,则会出现异常。显然,文档比第一眼看到的要微妙一点---Wno unknown警告
表单只有在编译器没有发出其他诊断消息的情况下才会导致诊断。(与@rici的评论相同)