CMake 设定 GCC 警告级别

来源:互联网 发布:龙霸点歌机网络加歌 编辑:程序博客网 时间:2024/05/01 17:54

今天一个server程序出现问题,在开发机器上正常,到了产品服务器上就总是崩溃。原因查了很久,总是报shared_ptr内部的错误。不知为什么?

最后决定提升GCC编译器的warning level,看看编译器能否提供帮助。

在CMakeLists.txt文件中加上:

add_definitions(-Wall)


编译器果然给了很有用的信息,发现我的函数返回类型为shared_ptr,但是却没有返回任何值。将函数返回类型改为void后,产品服务器上程序不再崩溃了。

所以,CMake默认的警告级别不够用,特别是服务端开发,最好还是用GCC比较高的警告级别。

不够的话,参考下面的文档,添加自己想要的:

http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html