看板 C_and_CPP 關於我們 聯絡資訊
開發平台(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://www.ptt.cc/bbs/C_and_CPP/M.1479873537.A.8C2.html
uranusjr: 看起來是沒把 mydialog.cpp 加入編譯目標 11/23 13:27
uranusjr: 實際怎麼解要看你專案是怎麼建立而定, 這篇資訊不足 11/23 13:27
allssddaa: 檔案->新增專案->QT Widget application->下一步下一步 11/23 13:38
allssddaa: 需要的是這個資訊嗎? 11/23 13:38
allssddaa: 請問還需要什麼資訊嗎 11/25 09:12
allssddaa: 要如何建立專案才能把mydialog.cpp加入編譯呢? 11/25 14:59
uranusjr: 你需要給出其他人重現這個問題的確切步驟, 把你用什麼軟 11/25 20:59
uranusjr: 體先做了什麼, 再用什麼軟體做什麼, 一步一步都描述清楚 11/25 21:00
uranusjr: 例如你上面給的步驟產生的程式和你文中描述的並不同, 那 11/25 21:00
uranusjr: 麼你到底用什麼方法改了什麼, 這都應該好好描述 11/25 21:00