作者allssddaa (屌炸天)
看板C_and_CPP
標題[問題] QT新增設計師表單類別
時間Wed Nov 23 11:58:55 2016
開發平台(Platform): (Ex: Win10, Linux, ...)
QT
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
看youtube上的教學在一個QT gui application專案裡新增QT設計師表單類別
按照教學上include了標頭檔後
接著第一行就出問題
MyDialog mdialog;
請問這是怎麼回事呢
餵入的資料(Input):
預期的正確結果(Expected Output):
順利編譯
錯誤結果(Wrong Output):
main.obj:-1: error: LNK2019: 無法解析的外部符號 "public: __cdecl
MyDialog::MyDialog(class QWidget *)" (??0MyDialog@@QEAA@PEAVQWidget@@@Z) 在函
式 main 中被參考
main.obj:-1: error: LNK2019: 無法解析的外部符號 "public: virtual __cdecl
MyDialog::~MyDialog(void)" (??1MyDialog@@UEAA@XZ) 在函式 main 中被參考
debug\MyWindows.exe:-1: error: LNK1120: 2 個無法解析的外部符號
程式碼(Code):(請善用置底文網頁, 記得排版)
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "mydialog.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_actionNew_window_triggered()
{
MyDialog mdialog;
// mdialog.setModal(true);
// mdialog.exec();
}
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.249.92.60
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1479873537.A.8C2.html
1F:→ uranusjr: 看起來是沒把 mydialog.cpp 加入編譯目標 11/23 13:27
2F:→ uranusjr: 實際怎麼解要看你專案是怎麼建立而定, 這篇資訊不足 11/23 13:27
3F:→ allssddaa: 檔案->新增專案->QT Widget application->下一步下一步 11/23 13:38
4F:→ allssddaa: 需要的是這個資訊嗎? 11/23 13:38
5F:→ allssddaa: 請問還需要什麼資訊嗎 11/25 09:12
6F:→ allssddaa: 要如何建立專案才能把mydialog.cpp加入編譯呢? 11/25 14:59
7F:→ uranusjr: 你需要給出其他人重現這個問題的確切步驟, 把你用什麼軟 11/25 20:59
8F:→ uranusjr: 體先做了什麼, 再用什麼軟體做什麼, 一步一步都描述清楚 11/25 21:00
9F:→ uranusjr: 例如你上面給的步驟產生的程式和你文中描述的並不同, 那 11/25 21:00
10F:→ uranusjr: 麼你到底用什麼方法改了什麼, 這都應該好好描述 11/25 21:00