当前位置: 代码迷 >> QT开发 >> 施用QT_NO_DEBUG
  详细解决方案

施用QT_NO_DEBUG

热度:27   发布时间:2016-04-25 04:25:03.0
使用QT_NO_DEBUG
C/C++ code
int a = 0; Q_ASSERT_X( a != 0, "x.cpp", "a = 0" );

文档上说,当第一个参数的值为false时,会有一个输出。可是我的程序总是没有输出。
1. 检查工程文件:
C/C++ code
   DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_DEBUG (我的工程中没有这一句)   TEMPLATE = app   CONFIG +=  qt warn_on release

2. 使用qmake-qt4命令生成的Makefile文件总是自动包括:
DEFINES += -DOT_NO_DEBUG_OUTPUT -DOT_NO_DEBUG ......
3. 如果在工程中使用了“DEFINES += QT_NO_DEBUG_OUTPUT”,是不是“Q_ASSERT_X”之类的宏就不起作用了?可是,文档中说是如果定义了“QT_NO_DEBUG”后,“Q_ASSERT_X”之类的宏才不气作用的,不知道哪里出了问题。
请教,“QT_NO_DEBUG_OUTPUT QT_NO_DEBUG ”为什么总是会自动出现在makefile中,不能在工程文件中对它进行控制吗?
我想使用Q_ASSERT_X等宏,要在哪个文件做什么设置吗?谢谢
  相关解决方案