[Qt學(xué)習(xí)筆記]Qt中解決編譯中文亂碼和編譯失敗的問題

解決方法

1.使用#pragma execution_character_set("utf-8")

QT5中在cpp中使用#pragma execution_character_set("utf-8")解決中文亂碼,不過這里要求該源代碼必須保存成帶Bom的utf-8格式,這也是有些在網(wǎng)上下載的代碼,加上這句源代碼后還是亂碼,我的操作是修改cpp中幾個(gè)中文字符后,重新保存后再重新編譯就可以了。相當(dāng)于將之前不是bom的代碼保存utf bom格式。
此方法需要在每一個(gè)涉及中文的cpp前添加這段指令。

2.在pro文件設(shè)置編譯格式

在pro中加入下面兩條
msvc:QMAKE_CXXFLAGS += -execution-charset:utf-8
msvc:QMAKE_CXXFLAGS += -source-charset:utf-8
第一條是讓程序執(zhí)行時(shí)使用utf-8字符集
第二條是告訴msvc編譯器識(shí)別源文件編碼類型是utf-8
不管源碼帶不帶bom,一般這兩條可以直接編譯識(shí)別。
QMAKE_CXXFLAGS_WARN_ON += -wd4819
一般有些三方庫文件會(huì)報(bào)4819的警告。可以在pro文件張?zhí)砑由厦嬉恍泻雎?819的警告


4819警告.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容