windows下用Code::blocks gcc/mingw系使用wxWidgets庫

關於Windows“wx/setup.h: No such file or directory”解決方法

很多Windows下用Code::blocks+wxWidgets的朋友最開始的時候都會因爲這個錯誤無法編譯而放棄wx。

下面給出詳細解決方法:
1.到WX的目錄下, 找到include\wx\platform.h文件,用Codeblocks打開它

2.Codeblocks下用菜單欄的Search->Find功能, 找到 #include "wx/setup.h" 一行

3.將 "wx/setup.h" 改爲 "wx/msw/setup.h", 然後保存修改後的platform.h文件即可,之後你再去編譯工程,就不會出現這個錯誤了

原來官方給的下載包裏的wx.chm幫助文件有這個問題的解決辦法,意思是說,wx/...目錄里根本沒有setup.h文件, 首先要在platform.h文件裏進行配置, 格式大致是 #include "wx/XXX/setup.h", 而這裏的XXX是根據你所用的操作系統的不同而改變的,例如WINDOW下就改成"wx/msw/setup.h", 而MacOS就改成"wx/mac/setup.h",就是這樣。。

轉自wxWidgets貼吧 https://tieba.baidu.com/p/2403694877

我的解決過程

按照上述方法即可,
或者把你程序裏的 "wx/setup.h" 改爲 "wx/setup_redirect.h",然後加上編譯宏 #define __WXMSW__ 也可以
image

看起來這個問題應該是什麼歷史原因導致的吧。

在 3.0.4 (https://github.com/wxWidgets/wxWidgets/releases/tag/v3.0.4) 測試通過
image

因爲不確定是哪個變量,所以我變量 wx 和 wxbin 都寫一樣的

然後build還會發現報錯ld.exe||cannot find -lwxmsw30u_core|
image

菜單 - Project - Build Options... 可以看到
image

所以解決方案就是:
把lib下的東西改名,具體操作爲:
lib/gcc510TDM_dll 改爲 lib/gcc_x86_dll
注意這裏的是 dev 版本的庫

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章