`
aigo
  • 浏览: 2567785 次
  • 性别: Icon_minigender_1
  • 来自: 宜昌
社区版块
存档分类
最新评论

[cmake]如何设置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\dir
nmake

注意:如果不使用CMAKE_BUILD_TYPE参数,则默认是Debug

 

其他参考:

http://stackoverflow.com/questions/7724569/debug-vs-release-in-cmake

 

分享到:
评论

相关推荐

    win8.1下编译opencv3.4.1+cmake+contrib的debug和release文件

    下面将详细介绍这个过程,包括所需的软件、环境设置、配置步骤以及如何生成Debug和Release版本的库文件。 首先,确保你已经安装了以下必要的软件: 1. **Visual Studio**:推荐使用Visual Studio 2015或更新的版本...

    “Debug正常,Release崩溃”的可能原因

    1.内存分配问题 2.ASSERT和VERIFY 3.参数问题 4.DLL的灾难 5.RELEASE板中的调试 6.编译器的优化可能导致许多意想不到的错误

    构建类型掌控:CMake中处理Debug与Release的艺术

    构建类型是指在编译和链接阶段使用的特定设置和选项组合。它直接影响到程序的运行性能、调试便利性和内存占用情况。通常情况下,软件开发会涉及两种主要的构建类型:Debug 和 Release。 - **Debug构建类型**:主要...

    opencv4.5.3+contrib 源码编译 debug+release

    3. **配置CMake**: 使用CMake分别配置Debug和Release模式。打开CMake GUI,设置源代码目录为opencv4.5.3,设置构建目录分别为build_debug和build_release。点击"Configure",选择对应的VS2019编译器版本(x64或x86)...

    libcurl 使用vs2010编译的动态库和静态库(包含的debug和release版和头文件)

    2. 配置项目:运行CMake,设置生成器为Visual Studio 2010,并选择是构建动态库还是静态库,以及是否包含debug和release版本。 3. 生成解决方案:执行配置后,CMake会生成一个VS2010的解决方案文件,可以打开进行...

    CMake-Study4-自定义编译选项.zip

    3. **多配置支持**:在 Visual Studio 或者 Xcode 这样的 IDE 中,CMake 可以创建多个配置,如 Debug 和 Release。我们可以通过 `set_property` 命令来针对不同配置设置选项: ```cmake set_property(TARGET my_...

    CMake实战,linux下交叉编译

    5. **构建过程**:配置完成后,使用`cmake`生成构建文件,然后用构建系统(如`make`)执行实际的编译和链接。 6. **测试和部署**:交叉编译完成后,可以使用`ctest`进行测试,并通过常规方式将可执行文件和依赖库...

    GMSSL windows编译方法,详细参加说明txt,压缩包内有x64的cmake

    总结来说,编译GMSSL涉及以下几个关键步骤:下载和安装CMake,获取并解压源代码,设置合适的编译环境,使用CMake生成项目文件,然后进行编译。在整个过程中,`zm-GMSSL 编译说.txt`文件是解决问题的关键资源,它提供...

    cmake编译opencv3.4.0,适用vs2015x86,release和debug

    本文将详细介绍如何使用CMake在Visual Studio 2015(VS2015)上编译OpenCV 3.4.0,适用于x86架构,并创建Release和Debug两种配置。 **CMake简介** CMake是一种跨平台的开源构建系统,它能够生成特定平台的构建文件...

    OSG3.4.0编译完成版本(vs2015,x86)debug+release

    7. **编译和安装过程**:编译OSG通常涉及配置CMake,选择编译器、平台和配置(Debug或Release),然后执行构建过程。安装可能包括复制库文件到系统路径,设置环境变量,以便于其他项目链接和使用OSG。 8. **使用OSG...

    Win10+VS2019(VS2017)+ITK4.13.2+CMake3.16-debug(release)可运行库.txt

    ITK4.13.2在VS2019(和VS2017)、x64环境下编译好的可运行的debug版本和release版本的库文件。包括bin文件中的动态链接库的.dll文件、 include中的.cxx、.h等文件、.lib库文件等 关于Win10(或Win7)+VS2019+ITK...

    windows下 protobuf 编译脚本,同时出debug和release

    它可能包括设置环境变量、解压protobuf源码、配置CMake、调用编译器等步骤,以生成debug和release模式的库文件。 2. **protobuf-cpp-3.21.9.zip**:这是protobuf的C++版本源代码包,包含了头文件、源文件以及相关的...

    opencv4.9 .cache cmake编译

    4. **调试与优化**:编译模式(如Debug或Release)也会被记录在`.cache`中。替换后,确保这符合你的需求,否则可能影响程序的运行效率或调试能力。 5. **自定义模块**:如果你之前为OpenCV添加了自定义模块或修改了...

    opencv3.0和扩展库的编译库Debug&Release;

    总之,OpenCV 3.0和`opencv_contrib`的编译库对于Windows平台上的开发者来说是一个宝贵的资源,特别是那些使用Visual Studio 2013的开发者,可以快速地在Debug和Release模式下进行开发,而无需关心编译的复杂性。...

    Tesseract4.0+VS2015+WIN10 C++ debug和release

    在本文中,我们将深入探讨如何在Windows 10操作系统中,使用Visual Studio 2015(VS2015)编译Tesseract 4.0 OCR引擎的Debug和Release版本。Tesseract是一个开源的OCR(光学字符识别)工具,能够识别图像中的文本并...

    Windows下OpenCV4.2.0完整编译,含debug,release

    本文将详细介绍如何在Windows上编译OpenCV 4.2.0,包括Debug和Release模式。 首先,编译OpenCV需要安装以下依赖项: 1. CMake:这是一个跨平台的自动化构建系统,用于管理项目的构建过程。 2. Visual Studio:...

    OpenCV4.6.0经cmake编译完整的contribute,64位 (Debug / Release) 版本都包含

    执行这个脚本后,可以在命令行环境中编译和链接OpenCV相关的项目。 4. `LICENSE`:文件包含了OpenCV的许可协议,它是基于BSD 3-Clause License,允许商业和非商业用途,但需要遵守特定的条款。 5. `include`:这个...

    cmake-cmake使用示例之编译类型.zip

    此外,CMake支持模块化构建,可以通过`find_package()`寻找已安装的库,并自动添加必要的编译和链接选项。这样可以简化多模块项目的构建过程。 总之,CMake的使用不仅简化了跨平台的构建,还使得构建配置更加灵活...

    opencv-3.4.0 x86的Debug 和Release版本

    开发者可以使用VS2017来编写、编译和调试OpenCV项目。 - **CMake**: 是一个跨平台的构建系统,用于管理项目构建过程。在OpenCV的构建中,CMake用来生成适用于不同平台和编译器的构建文件。在本例中,通过CMake 3.10...

    VTK-8.0 cmake编译

    Debug模式用于开发和调试,而Release模式优化了性能,适用于最终部署。 VTK 8.0包含了两种配置:Debug和Release。Debug版本提供了详细的调试信息,有助于排查程序中的错误,但执行速度较慢。Release版本则去除了...

Global site tag (gtag.js) - Google Analytics