260*_*607 2 c++ gcc warnings gnu
我在Fedora 16上使用GNU gcc 4.6.2.我正在使用第三方API编写应用程序,在编译之后,我收到了很多警告.
warning: ‘typedef’ was ignored in this declaration [enabled by default]
Run Code Online (Sandbox Code Playgroud)
只是想知道如何压制这个?我用-Wall标志编译我的程序.
在本文档http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html中,它提到了类似-Wunused-local-typedefs的内容.
我尝试过-Wno-unused-local-typedef,但不起作用.
谢谢.
-Wno-unused-local-typedefs对我来说在gcc 4.8中有效.
gcc允许您指定某些库包含路径应被视为具有开关的系统库,该-isystem开关允许这些标头对您在其余代码上使用的标志进行特殊处理.因此,例如,如果你有未使用的本地typedef使用某些Boost库test.cpp(我signals2最近使用包含Boost 库的方法)
g++ -o test{,.cpp} -Wall -Wextra -Werror -I /usr/local/boost-1.55.0/include -L /usr/local/boost-1.55.0/lib
Run Code Online (Sandbox Code Playgroud)
以上不构建干净的尝试以下
g++ -o test{,.cpp} -Wall -Wextra -Werror -isystem /usr/local/boost-1.55.0/include -L /usr/local/boost-1.55.0/lib
Run Code Online (Sandbox Code Playgroud)
将提供(包括你所包含的Boost图书馆的警告test.cpp当然是你唯一的问题).
根据gcc-source-code(gcc/cp/decl.c:4108):
warning (0, "%<typedef%> was ignored in this declaration");
Run Code Online (Sandbox Code Playgroud)
在gcc 4.6.2中没有命令行标志(也就是0代表的那个)来抑制这个警告.
| 归档时间: |
|
| 查看次数: |
21611 次 |
| 最近记录: |