為什么會有這個警告?
- 由於在Qt5以上版本默認開啟QML調試器造成的。用於告知用戶,這將打開一個到運行QML的Javascript解釋器的端口,以便從中獲得調試輸出。顯然,這會造成一個安全漏洞,所以在不安全的地方使用時應該關閉它(在釋放運行時自動關閉)。這個警告是為了提醒你這一點。
注意
- Qt4默認不開啟QML調試器,而Qt5版本以上默認開啟。
- 如果您不使用QML,無論如何都要關閉它。
- 由於開啟QML調試需要在TCP端口打開套接字,這存在安全風險。Internet上的任何人都可以連接到正在調試和執行任何JavaScript函數的應用程序。因此,您必須確保端口受到防火牆的適當保護。
解決方法
- 在項目文件(.pro)添加
DEFINES+=QT_QML_DEBUG_NO_WARNING(只關閉打印輸出,並不能關閉QML調試器)。 - 直接關閉QML調試器:
Qt4版本: CONFIG -= declarative_debug
Qt5版本: CONFIG -= qml_debug
- 在界面"項目"->"構建步驟"->"Enable QML debugging and profiling"復選框取消勾選;
- 使用release版本編譯,因為release編譯版本默認禁用QML調試器。
參考:https://cloud.tencent.com/developer/article/1463935
