[cmake]如何设置Debug和Release编译模式
推荐:让cmake 生成的工程在release 模式下可以调试
Debug通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度
一般Debug和Release必须在不同的目录下编译,否则每次当切换模式时必须把编译文件全部删掉。 这里假设新建两个目录Debug和Release来分别用于构建相应的模式:
mkdir Release cd Release cmake -DCMAKE_BUILD_TYPE=Release .. make mkdir Debug cd Debug cmake -DCMAKE_BUILD_TYPE=Debug .. make
windows下的注意事项 如果是windows下,想使用CMAKE_BUILD_TYPE参数,cmake时必须用-G”NMake Makefiles”,而不能用-G”Visual Studio 14″(这里假设vs2015为例。如果你使用了-G”Visual Studio 14″且要指定release/debug,我觉得应该在msbuild命令参数中设置,具体如何设置还没去研究),否则会提示无法识别CMAKE_BUILD_TYPE。
用法示例:
cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release path\to\source\dirnmake
注意:如果不使用CMAKE_BUILD_TYPE参数,则默认是Debug
其他参考: http://stackoverflow.com/questions/7724569/debug-vs-release-in-cmake
推荐:Cmake编译OpenCV和如何在VS工程中配置来使用编译后的OpenCV进行跟踪调试问题
OpenCV的安装和配置,有编译安装和非编译安装,前者的好处可以在调试的时候跟踪到源码内部,没有这个需求的人可以直接用OpenCV已经编译好的,2.4.3版本之前的在x
一般Debug和Release必须在不同的目录下编译,否则每次当切换模式时必须把编译文件全部删掉。 这里假设新建两个目录Debug和Release来分别用于构建相应的模式: mkdir Releasecd Releasec
