• Qt 开发应用程序Debug与Release设置


      一般来说,release版的可执行程序在体积上比起debug版要小很多(数倍甚至数十倍的差异),而且由于剥离了许多调试信息及符号等运行效率相对也高一些。然而在使用Qt开发中偶尔也会遇到及时选择了release版生成的二进制文件仍然很庞大的问题。所以要仔细检查一下相关设置,保证最后发布出去的版本是release版。

     

    1、前提: 在生成Qt库时(./configure)已经配置为  + -debug-and-release

        如果配置为./configure -release,则只能生成release版

    附简单配置说明如下

    -release ........... 调试关闭.没有调试库,自己的项目只能发布,不能调试(没有调试库的缘故),如果你硬要编译debug版本的话,会提示找不到xxxxxd.dll

    * -debug ............. 只有调试库,没有释放库,也就是说以后自己的项目只能调试,如果你硬要编译debug版本的话,会提示找不到xxxxx.dll

    + -debug-and-release . 编译后包含两种库。最好编译两种库

    2、Qt Createor设置

        在creator的Projects选项卡中,构建设置(Build Settings),如果缺少了Debug或者Release,点击其中的Add选择对应的QtSDK版本即可。

        在Build Steps中qmake步骤,如果是Debug则需加上参数:CONFIG+=debug。

    3、pro文件(可选)

    注意:如果在Qt Creator设置了构建参数,pro文件就不必重复设置。

    CONFIG+=debug_and_release

    CONFIG(debug,debug|release)

    {

    unix:TARGET=$$join(TARGET,,,_debug)

    win32:TARGET=$$join(TARGET,,d)

    }

    make 或make debug -------debug版

    make release          -------release版

    make all                 -------两个版本都生成

    生成Makefile中有QT_NO_DEBUG参数

     

    4、屏蔽release版本中所有QDebug()提示信息:

    如果要在命令行输出时不打出所有qdebug信息,可以在pro文件中添加DEFINES+=QT_NO_DEBUG_OUTPUT

  • 相关阅读:
    第3章 Spring AOP
    第2章 Spring中的Bean
    第1章 Spring的应用
    Codeforces Round #558 (Div. 2)-Cat Party (Hard Edition)-(前缀和 + 模拟)
    Codeforces Round #552 (Div. 3)-1154E-Two Teams-(模拟+双指针)
    Codeforces Round #552 (Div. 3)-D-Walking Robot-(贪心)
    Codeforces Round #552 (Div. 3)-C-Gourmet Cat
    Codeforces Round #555 (Div. 3)
    2019年湘潭大学程序设计竞赛(重现赛)
    Buy Fruits-(构造)
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/16731257.html
Copyright © 2020-2023  润新知