[問題] Qt編譯問題

作者: allssddaa (屌炸天)   2017-07-03 10:57:11
開發平台(Platform): (Ex: Win10, Linux, ...)
Qt5.6.2
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
VS 2015
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
按照網站的教學做一個push buttom
在mainwindow.pp裡增加一行setText
然後編譯就出問題
餵入的資料(Input):
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
ui->pushButton->setText("新窗口");
}
MainWindow::~MainWindow()
{
delete ui;
}
預期的正確結果(Expected Output):
打開來視窗中間一個按鈕
然後中文是亂碼
錯誤結果(Wrong Output):
D:\QT\nWindows\nWindows\mainwindow.cpp:-1: warning: C4819: 檔案含有無法在目前
字碼頁 (950) 中表示的字元。請以 Unicode 格式儲存檔案以防止資料遺失
D:\QT\nWindows\nWindows\mainwindow.cpp:9: error: C2001: 常數中包含新行字元
D:\QT\nWindows\nWindows\mainwindow.cpp:10: error: C2059: 語法錯誤: '}'
程式碼(Code):(請善用置底文網頁, 記得排版)
補充說明(Supplement):
教學的Qt版本是4.8.1
是因為版本的問題嗎?
作者: MOONY135 (談無慾)   2017-07-03 12:23:00
在.H加這行 #pragma execution_character_set("utf-8")中文會亂碼
作者: allssddaa (屌炸天)   2017-07-04 09:27:00
還沒加這行 我現在只有setText就不能編譯了
作者: longlongint (華哥爾)   2017-07-04 10:06:00
先不要打中文試試看 然後把中文換成許功蓋 看會不會跳一樣的錯誤
作者: Davinais (水靈流喵)   2017-07-04 12:52:00
你原始碼編碼也存錯了吧,要存成utf-8才對
作者: uranusjr (←這人是超級笨蛋)   2017-07-05 00:54:00
編譯不過應該是原始碼編碼錯誤, 上面提的都是成功執行但中文亂碼的解法
作者: allssddaa (屌炸天)   2017-07-05 09:41:00
不懂意思? 我存的不是UTF-8嗎 不然我存成什麼所謂的存原始碼編碼是指哪個動作?要怎麼存成正確的原始碼編碼呢?" target="_blank" rel="nofollow">
是這裡嗎?我應該已經是UTF-8了?
作者: uranusjr (←這人是超級笨蛋)   2017-07-05 15:39:00
啊我知道是怎麼回事了, 對你的檔案是 UTF8 沒錯但 cl 吃不了, 因為預設的編譯模式是 UTF-16 (印象中)在 .pro 檔加上 QMAKE_CXXFLAGS += /utf-8 不知道能不能解, 手邊沒 Windows 無法試或試試 https://my.oschina.net/fanhuazi/blog/740594

Links booklink

Contact Us: admin [ a t ] ucptt.com