1. 程式人生 > >程式碼UTF8之路2:解決VS編譯中的C1071錯誤

程式碼UTF8之路2:解決VS編譯中的C1071錯誤

繼上一次解決了C4819的警告(點選這裡開啟)之後,繼續之後又遇到編碼問題。

首先是有一個檔案編譯出現錯誤,提示未定義變數,但是該檔案改為GBK編碼後,編譯是正確的,最後通過逐行排除法,發現將某行註釋後增加一個換行可以正確編譯,暫且忽略;

然後,又遇到了這個C1071錯誤,提示“在註釋中遇到意外的檔案結束”,可以確認程式碼是沒有問題,而且改為UTF8編碼之前(用的是GBK編碼)編譯是沒有問題的,上網查詢確認還是編碼的問題,而且在VS2015中的編譯選項可以支援指定原始碼的字符集,因此還和上一篇一樣,在QT的專案檔案中加入特定的編譯選項來解決該問題。

# set source charset
QMAKE_CXXFLAGS += -source-charset:utf-8

也可以寫成是這樣的選項,同時指定原始碼字符集和執行字符集未UTF-8。

# set source charset and execution charset
QMAKE_CXXFLAGS += -utf-8

注意:這裡要寫 +=, 而不是直接等於,否則會把原有的其他選項覆蓋掉。