CMake 设定 GCC 警告级别
2012-01-13 19:47
148 查看
今天一个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
最后决定提升GCC编译器的warning level,看看编译器能否提供帮助。
在CMakeLists.txt文件中加上:
add_definitions(-Wall)
编译器果然给了很有用的信息,发现我的函数返回类型为shared_ptr,但是却没有返回任何值。将函数返回类型改为void后,产品服务器上程序不再崩溃了。
所以,CMake默认的警告级别不够用,特别是服务端开发,最好还是用GCC比较高的警告级别。
不够的话,参考下面的文档,添加自己想要的:
http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
相关文章推荐
- CMake 设定 GCC 警告级别
- 使用GCC和CMake编译OpenCV
- 常见gcc编译警告整理【转】
- GCC指定某个函数或某几个函数的优化级别
- gcc警告
- 使用gcc和cmake编译工具编辑opencv例子
- Using OpenCV with gcc and CMake
- GCC警告选项例解
- gcc较高版本的一些编译警告收集
- CentOS 6.x安装多GCC版本,cmake的安装与使用
- gcc 报 初始化丢弃了指针目标类型的限定 的警告信息
- gcc编译警告---warning: control reaches end of non-void function
- 关于MSVC下QT项目的警告级别
- GCC警告提示错误“cc1:all warnings being treated as errors”
- 深入解析PHP 5.3.x 的strtotime() 时区设定 警告信息修复
- sql-mode可以设置警告级别,如默认值不能为空的不能提交==
- msvc/gcc:中用#pragma指令关闭特定警告(warning)
- CMake 命令行设定编译环境
- cmake 怎么设定 prefix ?
- 设定ofbiz的日志输出级别