1. 程式人生 > >解決QT編程出現 C2001錯誤

解決QT編程出現 C2001錯誤

通過 字符常量 提示 進行 中文字符 字符 謝謝 統一 文件

最近做項目時,在debug輸出或者是在其他用到字符串常量的時候,總會時不時的出現C2001錯誤,提示“常量中有換行符”,

比如

tr("刪除此設備")

或者

qDebug()<<"重命名";

我去你妹的,哪裏有換行符啊,能找出來算我輸,嘗試了各種改正也沒解決,還以為自己發現了QT的一個隱藏BUG,最終

通過以下步驟解決了這個錯誤:

選擇QT界面菜單欄----編輯----Slect Encoding...-----System-----按編碼保存。

但是問題又出現了,編譯器不報錯了,可運行程序後程序裏面出現的中文字符是亂碼,所以這個方法也不可行。

最後通過網上各種百度,最終找到了3種解決方式:

1、將字符中的中文字符用英文字母或單詞代替,這樣解決的好處是代碼規範,語言統一,缺點就是沒有中文表達那樣直接、

清晰(對於英語白癡的我來說)。

2、使用中文字符常量時,用QStringLiteral修飾中文字符,格式如QStringLiteral("中文字符"),這種方法必須在每次使用中

文字符時都需要進行修飾,否則還是會出現錯誤,所以比較麻煩。

3、直接在頭文件聲明處添加 #pragma execution_character_set("utf-8"),直接解決此錯誤。

希望對您有所幫助,謝謝。

解決QT編程出現 C2001錯誤