gcc开启/关闭 编译警告/报错 -Werror

4 篇文章 0 订阅

有时候我们编译一个大的项目的时候,会出现很多错误使得屏幕堆满了很多无用的信息。一般情况下我们需要找到首次出现错误的地方,在gcc中添加编译选项可以使编译停止在第一次出现错误的地方:

$ gcc -Wfatal-errors foo.c		// GCC 4.0 and later
$ g++ -Wfatal-errors foo.cpp
$ g++ -fmax-errors=N foo.cpp	// 在出现第 N 此错误的时候停止编译,GCC 4.6 and later

如果使用cmake构建的项目:

add_definitions(
    -Wfatal-errors
    )
    
或者

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wfatal-errors")  // better

打开警告信息:

$ g++ -Wall foo.cpp		//提示警告信息

警告信息当做错误处理:

$ g++ -Werror foo.cpp		//将警告信息当做错误显示

打开测试浮点数相等的警告:

$ g++ -Wfloat-equal foo.cpp		//通常测试浮点数相等是不准确的

默认情况下,GCC/G++链接时优先链接动态库,如果没有动态库,则链接相应的静态库。同时 -Wl,-Bstatic 选项指定静态链接后面的库,而 -Wl,-Bdynamic 动态链接后面的库。如果指定为 -static,则全部默认链接静态库。

-Werror, -Wimplict-function-declaration:打开不明确函数声明的警告,并将所有警告设置为error。
-Werror=implict-function-declaration:只将不明确函数声明的警告设置为error。
-Wall:打开所有的警告信息。
-Wunused-variable:打开未定义的值的警告。
-w:忽略所有的警告信息。
  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值