Re: [問題] 想問有關wxWidgets的問題...

看板 C_and_CPP
作者 closer76 (克樓瑟)
時間 2024-08-28 17:40:52
留言 7 ( 2推 0噓 5→ )
回文 4則
※ 引述《easterday (....)》之銘言: : 自問自答: : 現在我的進度到這裡:https://tinyurl.com/2atpsmkh : 編起來就是有錯誤訊息 : C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: : textbox.o:textbox.cpp:(.rdata$.refptr._ZTV10MyTextCtrl[.refptr._ZTV10MyTextCtrl]+0x0): : undefined reference to `vtable for MyTextCtrl' : C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: : C:/msys64/mingw64/lib/libmingw32.a(lib64_libmingw32_a-crtexewin.o): in : function `main': : C:/M/B/src/mingw-w64/mingw-w64-crt/crt/crtexewin.c:67:(.text.startup+0xbd): : undefined reference to `WinMain' : collect2.exe: error: ld returned 1 exit status : make: *** [Makefile:11: CH3.exe] Error 1 : 有人肯幫忙看看嗎? 首先我想問的是:既然你是在 Windows 上編譯,有一定要用 MinGW 嗎? 以 wxWidgets 來說,我覺得用 Visual Studio 問題會比較少。 至少你遇到的那兩個問題,我覺得都跟 linker or 函式庫有關。 如果你想用 Visual Studio setup 開發環境的話,我之前有寫過一份簡單的文件, 可以參考一下:https://hackmd.io/@closer/BJrq8PcNP 回到你的程式碼。 我在 Visual Studio 的環境中編譯你的 .cpp,其實只有一個問題。 就是你在 class MyTextCtrl 的宣告中,加入了 DECLARE_DYNAMIC_CLASS 這個巨集。 你只要拿掉那一行,就能編譯了。 此時我要再問一個問題:你知道這個 dynamic class 是做什麼用的嗎? 你有需要用嗎? 依據這篇文章:https://docs.wxwidgets.org/trunk/overview_rtti.html DECLARE/IMPLEMENT_DYNAMIC_CLASS 是用來產生 wxWidgets 自己實作的 RTTI 用的。 我個人(至少在使用 wxWidgets 時)從來沒使用過 wxWidgets 自己的 RTTI。 所以如果你沒有特別需求,DECLARE_DYNAMIC_CLASS 那一行是不需要的。 若是你真的需要 wxWidgets 的 RTTI,那麼,依照上面那篇文章,你需要: 1. 在 class 宣告中加入 DECLARE_DYNAMIC_CLASS(也就是你的 Line 8) 2. 在 class 的定義中(Line 64 前後吧)加入 IMPLEMENT_DYNAMIC_CLASS 巨集 3. 為 MyTextCtrl 宣告並實作 default constructor(也就是不帶參數的 ctor) 你只做了 1,少了 2 & 3。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.140.199.28 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1724838054.A.BD2.html

回文

留言

※ 編輯: closer76 (223.140.199.28 臺灣), 08/28/2024 17:55:37
easterday 自問自答:如果還是編不過, 08/31 23:30 1F
easterday 要把textbox.cpp的第一行拿掉 08/31 23:31 2F
easterday //#pragma interface "textbox.cpp" 要拿掉 08/31 23:31 3F
easterday 感謝幫忙! 08/31 23:32 4F
wulouise #pragma interface不是寫在header? 09/01 14:07 5F
lycantrope 正常是寫在header啦w 09/01 16:32 6F
closer76 喔,那行 VC++ 自動忽略....只有一個 warning... XD 09/02 16:49 7F

最新文章

[問題] 說人羅傑算人身攻擊嗎
c_chatbm ss8901234
2024-09-20 13:27:33
[馬娘] 中二時期喜歡隨處決鬥
1 1 c_chat baychu
2024-09-20 13:19:43
[閒聊] 會講原來如此的女角
7 12 c_chat togs
2024-09-20 13:18:11
Re: [我推] 我推 161 文字情報+圖透
3 6 c_chat kikiwatcher
2024-09-20 13:14:31
Re: [閒聊] 回顧老任跟可樂噗大戰
3 8 c_chat ryoma1
2024-09-20 13:13:55
[蔚藍] 貓狗大戰
4 4 c_chat anpinjou
2024-09-20 13:13:44
[檢舉] acgfan 4-1
c_chatbm motw1999
2024-09-20 13:03:09
[Vtub] kureiji ollie 新衣紀念2024周邊
c_chat kevinlee2001
2024-09-20 13:00:03
[Vtub] kureiji ollie 新衣紀念2024周邊
c_chat haku1koyor1
2024-09-20 12:59:04
Re: [閒聊] Intel 會再起不能嗎?
16 66 c_chat sabermywifi
2024-09-20 12:56:40
[情報] NETFLIX 航海王第二季 3秒速報
3 4 c_chat blackone979
2024-09-20 12:55:11