使用MinGW编译wxWidgets

win环境下, cb报错,wx/setup.h: No such file or directory时
路径改为 wx/msw/setup.h
很多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",就是这样。。
*************************************************************
在Code:Blocks使用MinGW编译wxWidgets库

1,安装Code:Blocks和MinGW编译器,下载wxWidgets包
在http://www.codeblocks.org/ 下载带有mingw的codeblocks安装包.(eg:codeblocks-10.05mingw-setup.exe)
在http://www.wxwidgets.org/下载wxWidgets压缩包(eg:wxWidgets-2.9.1.7z)
分别安装,(注意,二者所在目录不能为中文,wxWidgets所在目录必须不能包含空格)
(eg:codeblocks在 C:\Program Files\CodeBlocks,wxWidgets在 C:\wxWidgets-2.9.1)

2,定义编译器环境变量,测试编译器版本
可将编译器路径添加到电脑环境变量中,也可以写个批处理,临时指定路径.(批处理会在后边给出)
按上边路径安装后,对应编译器路径为C:\Program Files\CodeBlocks\MinGW\bin和C:\Program Files\CodeBlocks\MinGW\mingw32\bin
(如果是64位的操作系统,则CodeBlocks可能被安装在C:\Program Files (x86)\CodeBlocks下面,这样的话这两个路径就需要做相应的修改)
路径设置过后,输入 mingw32-make -v 来测试编译器版本,确保版本为3.80或以上.

3.编译wxWidgets
首先打开命令窗口(运行->cmd),定位到wxWidgets目录下的\build\msw文件夹,然后进行下面的操作。
    1)首先清除之前编译过的文件,执行
    mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release clean
    (如果,你是第一次下载并编译wxWidgets,则不需要执行次步骤。)
    2)清除之前的编译文件后,开始编译,执行 mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release
    (注意,清除时的配置要可之后重新编译的配置一致.编译过程可能会很长,请耐心等待.)

编译配置:
BUILD 控制编译wxWidgets是debug版本或release版本,debug版本时,库名带后缀d.
SHARED 控制编译wxWidgets成DLL或是static, DLL时,多个wxWidgets工程可共用相同的DLL,工程发布时,必须包含该DLL文件
MONOLITHIC 控制编译成1个独立的DLL库,还是多个DLL库
UNICODE 控制编译出的wxWidgets是否支持unicode,若使用汉字,必须支持unicode

注,
关于命令中各参数的说明可以在\build\msw\config.gcc文件中找到
(更详细的描述,请参照http://wiki.codeblocks.org/index.php?title=WxWindowsQuickRef
http://wiki.codeblocks.org/index.php?title=Compiling_wxWidgets_2.8.6_to_develop_Code::Blocks_(MSW)
http://wiki.wxwidgets.org/Compiling_wxWidgets_with_MinGW)
以上操作,可用1个批处理完成,如下:(对应路径改成自己安装的路径即可)
set path=C:\Program Files\CodeBlocks\MinGW\bin;
C:\Program Files\CodeBlocks\MinGW\mingw32\bin mingw32-make -v
cd C:\wxWidgets-2.9.1\build\msw mingw32-make -f makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1
clean pause mingw32-make -f makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1 pause

在wxWidgets2.9.1时可能会在编译时出错,请参考
http://zaazbb.blog.163.com/blog/static/1689785592010101223435157/
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页