Qt5遇到的問題

很久沒用Qt了,今天又從新安裝了一個,結果遇到很多問題函數

本機環境:VS2015,Qt5.7工具

裝好後,就新建工程測試了一下,結果沒法編譯,提示測試

:-1: error: cannot open C:\Users\個人用戶名,中文的\AppData\Local\Temp\main.obj.7148.0.jom for write編碼

這一看又是中文路徑的問題啊,可是,系統路徑,很差改啊,jom是個什麼東西?網上搜了一下,獲得解決方法:調試

工具->選項->構建和運行:概要, 取消 <使用jom代替nmake>前的勾.再次編譯,行了.utf-8

可是沒法調試,說沒配置調試器,繼續搜索,微軟官方下載Debugging Tools for Windows編譯器

官網提示三種方式:源碼

第一種是安裝WDK,裏面自帶.it

第二種是安裝SDK,裏面自帶.編譯

第三種是在安裝SDK時只選擇安裝Debugging Tools for Windows

好吧,第三種比較好,安裝完畢,在<構建和運行>裏設置一下,試一下,能用!

而後吧,中文亂碼的問題!

Qt工程沒有亂碼,只要文件編碼是utf-8.可是控制檯工程會亂碼,把文件編碼改爲gbk,不亂碼了,可是Qt亂碼了.

之前的解決方案是:文件編碼用GBK,QT工程裏添加設置編碼的代碼(網上搜到的那幾句)

可是如今不想那麼作,由於不想添加代碼,同時要用UTF-8編碼,因此要解決一下控制檯程序亂碼的問題.

網上搜索有沒有設置編碼的編譯選項,沒有,可是有一處說到,MSVC編譯器支持UTF-8格式的源文件,可是若是不帶BOM

會被認爲是ANSI格式的文件...!!!

把源文件轉成帶BOM的UTF-8,正常輸出中文!本覺得這下都是UTF8應該沒問題了吧,沒想到QT程序源碼帶BOM的竟然亂碼

而不帶BOM就不亂碼.崩潰,瘋狂測試了半天,總結各狀況不亂碼的方法以下文件編碼    QT程序    控制檯程序ANSI      u8"中文"    "中文"UTF8無BOM  "中文"     只能函數轉換了UTF8->ANSIUTF8有BOM        u8"中文"      "中文"

相關文章
相關標籤/搜索