施用QT_NO_DEBUG

使用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等宏,要在哪个文件做什么设置吗?谢谢