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 版本的库

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