• 14601阅读
  • 5回复

[提问]要发布的QT程序,如何去掉qWarning 以及QT自己打印出来的信息? [复制链接]

上一主题 下一主题
离线netlove
 

只看楼主 倒序阅读 楼主  发表于: 2008-06-24
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2011-01-07) —
如题?
离线XChinux

只看该作者 1楼 发表于: 2008-06-24
在哪里打印出来的? console??
win ?? linux ??
如果是win ,就在.pro中把CONFIG变量中的console去掉
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线netlove

只看该作者 2楼 发表于: 2008-06-24
在linux 控制台下。就是你点触摸屏,出来的一堆信息和自己定义的qWarning打印出来的东西。
离线netlove

只看该作者 3楼 发表于: 2008-06-24
在linux 控制台下。就是你点触摸屏,出来的一堆信息和自己定义的qWarning打印出来的东西。
离线steinlee

只看该作者 4楼 发表于: 2008-06-24
In your code, add something like

#ifdef DEBUG
  cout << " Warning: be careful "<< endl;
#endif

to all print lines. You will not see these print messages in release version. However, they will appear in debug version
[ 此贴被steinlee在2008-06-24 11:37重新编辑 ]
Looking for remote C/C++ and Qt 兼职
离线XChinux

只看该作者 5楼 发表于: 2008-06-24
第一种方法、写个脚本,重定向吧,将标准输出和标准错误重定向到/dev/null
用脚本启动这个程序。比如:
#!/bin/sh
./yourexe > /dev/null 2>&1

第二种方法,在工程文件中定义几个宏,如QT_NO_WARNING_OUTPUT, QT_NO_DEBUG_OUTPUT等,如:
DEFINES += QT_NO_WARNING_OUTPUT QT_NO_DEBUG_OUTPUT

第一种方法很彻底,第二种方法不能阻止qFatal(), qCritical()等这些的输出
[ 此贴被XChinux在2008-06-24 12:22重新编辑 ]
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个