Javascript 禁用QML console.log()消息
我们正在调试我们的应用程序的最终版本,并且我们成功地禁用了C++中的调试消息。p>Javascript 禁用QML console.log()消息,javascript,qt,qml,Javascript,Qt,Qml,我们正在调试我们的应用程序的最终版本,并且我们成功地禁用了C++中的调试消息。p> CONFIG(release, debug|release):{ message(Building in release mode. We deactivate the logs.) DEFINES += QT_NO_DEBUG_OUTPUT } else { message(Building in debug mode.) } 但是,我们的QML javascript console.
CONFIG(release, debug|release):{
message(Building in release mode. We deactivate the logs.)
DEFINES += QT_NO_DEBUG_OUTPUT
} else {
message(Building in debug mode.)
}
但是,我们的QML javascript console.log()函数仍在记录信息
我还发现,其中明确指出:
<强>输出是使用C++中的qDebug、Q预警、QualMess方法生成的(参见调试技术)。< /强>
什么对我来说没有多大意义,因为我已经忽略了所有的qDebugs()
因此,问题是:
如何忽略所有console.log()?
我只是觉得这应该是一项简单的任务,类似于qDebug()消息
如需了解更多信息,请留言
注意:我知道链接是针对Qt5的,但我使用的是Qt4.8
提前谢谢 如果
QT\u NO\u DEBUG\u OUTPUT
成功地禁用了QT代码内的输出,那么它应该对实现console.log()
的执行相同的操作。然而,我相信这些特性宏是故意不进行自动测试的(太多的宏,太少的硬件资源来测试它们),所以任何错误报告都会被关闭,并且会鼓励您自己提交补丁
另一个解决方案可能是使用,如问题答案中所述
不幸的是,这对您没有帮助,但在Qt 5中,使用环境变量禁用已足够:
QT_LOGGING_RULES=qml=false
您可以尝试使用它来禁用console.log(),我看到了这篇文章,但我认为它使用了太多的资源来实现一些应该很容易实现的东西。好了,我很确定QT_NO_DEBUG_输出确实删除了代码,因为我的应用程序的大小减小了。我期待任何类似的宏。无论如何谢谢你!:)你好这是我可能的解决办法之一。我已经成功地进行了测试,我知道它可以工作,但正如我前面所说的,我认为它使用了很多资源(最后是一个调用其他函数的函数)。我希望有一个宏可以禁用/删除作为QT\u NO\u DEBUG\u输出的注释。我会等着看其他答案是否提供更多信息,如果没有,我会接受这个答案+1来深入解释如何在qt项目中处理。