QT出現QML debugging is enabled. Only use this in a safe environment.


為什么會有這個警告?

  • 由於在Qt5以上版本默認開啟QML調試器造成的。用於告知用戶,這將打開一個到運行QML的Javascript解釋器的端口,以便從中獲得調試輸出。顯然,這會造成一個安全漏洞,所以在不安全的地方使用時應該關閉它(在釋放運行時自動關閉)。這個警告是為了提醒你這一點。

注意

  • Qt4默認不開啟QML調試器,而Qt5版本以上默認開啟。
  • 如果您不使用QML,無論如何都要關閉它。
  • 由於開啟QML調試需要在TCP端口打開套接字,這存在安全風險。Internet上的任何人都可以連接到正在調試和執行任何JavaScript函數的應用程序。因此,您必須確保端口受到防火牆的適當保護。

解決方法

  1. 在項目文件(.pro)添加 DEFINES+=QT_QML_DEBUG_NO_WARNING(只關閉打印輸出,並不能關閉QML調試器)。
  2. 直接關閉QML調試器:
Qt4版本: CONFIG -= declarative_debug
Qt5版本: CONFIG -= qml_debug
  1. 在界面"項目"->"構建步驟"->"Enable QML debugging and profiling"復選框取消勾選;
  2. 使用release版本編譯,因為release編譯版本默認禁用QML調試器。

 

 

參考:https://cloud.tencent.com/developer/article/1463935


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM