qt如何把debug编译成release版本 ?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qt如何把debug编译成release版本 ?相关的知识,希望对你有一定的参考价值。

要具体步骤。或者给点资料也成。谢谢啦

  可以project->Set Active Config,选中release版本,此后,按F5或F7编译所得的结果就是release版本。  
  Debug版本包括调试信息,所以要比Release版本大很多(可能大数百K至数M)。
  至于是否需要DLL支持,主要看你采用的编译选项。如果是基于ATL的,则Debug和Release版本对DLL的要求差不多。
  如果采用的编译选项为使用MFC动态库,则需要MFC42D.DLL等库支持,而Release版本需要MFC42.DLL支持。
  Release Build不对源代码进行调试,不考虑MFC的诊断宏,使用的是MFC Release库,编译十对应用程序的速度进行优化,而Debug Build则正好相反,它允许对源代码进行调试,可以定义和使用MFC的诊断宏,采用MFC Debug库,对速度没有优化。
参考技术A 这个十分简单, 如果我理解的没有错的话, 你应该是在新建项目时没有添加Release对象吧?
1. 点击左侧边栏的Projects
2. 在Build Step里的qmake build configuration中选择Release
此时你编译出来的对象就是release的了...
如果是要上交的内容, 更改下build directory, 就OK了

如果你是在Shell下的话... qmake加参数 "-CONFIG+=Release(或者Debug)"本回答被提问者和网友采纳
参考技术B qt creator里面有个项目里可以选择调试和发布
其他ide里应该都有这样的选项.
命令行 -debug和-release来选择.
参考技术C

Qt 通过条件编译区分Debug和Release代码

Qt 通过条件编译区分Debug和Release代码

​ 在公司写Bug,发现程序运行全屏不适合调试,通过条件编译搞一下。


文章目录

关键字: QT_NO_DEBUGQt条件编译ReleaseDebug

测试代码

​ 今天在公司写Bug的时候发现,有个东西神一样的烦人,那就是程序每次运行都全屏,啥也看不到,所以就搞一个,在我Debug的时候不全屏,在真正发布的时候在Release,那不OK了吗,哈哈哈。基本原理就是利用条件编译和Qt的宏实现的。代码如下:

#include "widget.h"

#include <QApplication>
#include <QDebug>

int main(int argc, char *argv[])

    QApplication a(argc, argv);
    Widget w;
#ifdef QT_NO_DEBUG                      //条件编译,非Debug版本运行
    w.showFullScreen();
#else                                   //条件编译,Debug版本运行
    w.show();
#endif
    return a.exec();


以上是关于qt如何把debug编译成release版本 ?的主要内容,如果未能解决你的问题,请参考以下文章

如何将debug版本的so库变成release版本?

qt creator的一个项目配置成release编译出错问题

qt 5添加 windows 静态库

Qt 通过条件编译区分Debug和Release代码

Qt 通过条件编译区分Debug和Release代码

Qt creator 编译后没有生成debug和release文件夹