wxWidgets编译简介
// * create by zyzx
// * 2009-3-11
// * 转载请注明来源:http://www.cppblog.com/zyzx
使用wxWidgets库已经有一年多了,很多时候想写点回忆性质的东西来,以备今后工作学习中参考。但每次下笔后却又因为总总原因,中断或是零碎的事情 却又没再抬起过笔。虽然我目前接触了解wxWidgets时间不长,今后的工作中还不一定能够用到她,写东西也需要花费大量的精力,但我尽可能的将我所知 道的表述出来,留给需要的人,减少入门花费的时间。
一、wx库简介
跨平台GUI库,其他的不说了。Google一下,看看是不是你所需要的。
官方网站:http://www.wxwidgets.org/
Wiki:http://wiki.wxwidgets.org/Main_Page
二、VS + Win32环境编译
目标库版本:2.8.7
编译平台:WinXP + VS2005
编译类型:动态库 + Unicode + Debug
编译目标平台:Win32
1、打开工程wxWidgets-2.8.7"build"msw"wx_dll.dsw,将其转换为vs2005工程关闭保存,再打开工程wx_dll.sln。
2、将解决方案配置更换为DLL Unicode Debug。
3、依次单独编译wxregex、wxzlib、wxexpat、wxtiff、base、wxjpeg、wxpng、core、odbc、xml、adv、html、net、gl、dbgrid、qa、richtext、aui、xrc、media库。
其中目前版本odbc、gl、dbgrid工程并不完善,出现编译错误忽略即可。
4、如果以上顺利通过,那么将得到以下我们需要的库文件
编译预定义环境
wxWidgets-2.8.7"lib"vc_dll"mswud"wx" setup.h
wxWidgets-2.8.7"lib"vc_dll"mswud"wx"msw" rcdefs.hwxWidgets-2.8.7"lib"vc_dll"wxbase28ud_net_vc_custom.dll
wxWidgets-2.8.7"lib"vc_dll"wxbase28ud_odbc_vc_custom.dll
wxWidgets-2.8.7"lib"vc_dll"wxbase28ud_vc_vc_custom.dll
wxWidgets-2.8.7"lib"vc_dll"wxbase28ud_xml_vc_custom.dll
wxWidgets-2.8.7"lib"vc_dll"wxmsw28ud_adv_vc_custom.dll
wxWidgets-2.8.7"lib"vc_dll"wxmsw28ud_aui_vc_custom.dll
wxWidgets-2.8.7"lib"vc_dll"wxmsw28ud_core_vc_custom.dll
wxWidgets-2.8.7"lib"vc_dll"wxmsw28ud_gl_vc_custom.dll
wxWidgets-2.8.7"lib"vc_dll"wxmsw28ud_html_vc_custom.dll
wxWidgets-2.8.7"lib"vc_dll"wxmsw28ud_media_vc_custom.dll
wxWidgets-2.8.7"lib"vc_dll"wxmsw28ud_qa_vc_custom.dll
wxWidgets-2.8.7"lib"vc_dll"wxmsw28ud_richtext_vc_custom.dll
wxWidgets-2.8.7"lib"vc_dll"wxmsw28ud_xrc_vc_custom.dllwxWidgets-2.8.7"lib"vc_dll"wxbase28ud.lib
wxWidgets-2.8.7"lib"vc_dll"wxbase28ud_net.lib
wxWidgets-2.8.7"lib"vc_dll"wxbase28ud_xml.lib
wxWidgets-2.8.7"lib"vc_dll"wxexpatd.lib
wxWidgets-2.8.7"lib"vc_dll"wxjpegd.lib
wxWidgets-2.8.7"lib"vc_dll"wxmsw28ud_adv.lib
wxWidgets-2.8.7"lib"vc_dll"wxmsw28ud_aui.lib
wxWidgets-2.8.7"lib"vc_dll"wxmsw28ud_core.lib
wxWidgets-2.8.7"lib"vc_dll"wxmsw28ud_html.lib
wxWidgets-2.8.7"lib"vc_dll"wxmsw28ud_media.lib
wxWidgets-2.8.7"lib"vc_dll"wxmsw28ud_qa.lib
wxWidgets-2.8.7"lib"vc_dll"wxmsw28ud_richtext.lib
wxWidgets-2.8.7"lib"vc_dll"wxmsw28ud_xrc.lib
wxWidgets-2.8.7"lib"vc_dll"wxpngd.lib
wxWidgets-2.8.7"lib"vc_dll"wxregexud.lib
wxWidgets-2.8.7"lib"vc_dll"wxtiffd.lib
wxWidgets-2.8.7"lib"vc_dll"wxzlibd.lib注意:将以上文件按照文件按照原目录相对结构拷贝到要制作的库路径下,并将wxWidgets-2.8.7" include目录也拷贝到其目录下,以后要使用只需要包含这些路径即可。
为了以后开发方便,设定的开发库路径为:
wxLib"include
wxLib"Debug"mswud"wx"msw
wxLib"Debug
三、VS + WinCE环境编译
目标库版本:2.8.7
编译平台:WinXP + VS2005
编译类型:静态库 + Unicode + Debug + Pocket PC 2003(ARM4)
编译目标平台:WinCE4.0以上
1、打开工程wxWidgets-2.8.7"build"wince" wx.vcw。这个工程是evc的工程,先将其转换为vs2005的工程wx.sln。
2、打开wxWidgets-2.8.7"include"wx"minifram.h文件,在最后一个endif之前加上
//** ADD 修正wince端无法通过编译
#ifdef _WIN32_WCE
#include "wx/frame.h"
typedef wxFrame wxMiniFrame;
#endif
3、依次编译wxzlib、wxpng、wxjpeg、gl、mono。
如果有编译事件错误,重新编译一次即可。
4、如果通过以上编译可得到如下我们需要的库文件
wxWidgets-2.8.7"lib"evc_armv4_lib"winced"wx" setup.h
wxWidgets-2.8.7"lib"evc_armv4_lib"winced"wx"msw" rcdefs.h
wxWidgets-2.8.7"build"wince"Pocket PC 2003 (ARMV4)"Debug"wx_wxzlib.lib
wxWidgets-2.8.7"build"wince"Pocket PC 2003 (ARMV4)"Debug" wx_wxpng.lib
wxWidgets-2.8.7"build"wince"Pocket PC 2003 (ARMV4)"Debug" wx_wxjpeg.lib
wxWidgets-2.8.7"build"wince"Pocket PC 2003 (ARMV4)"Debug" wx_wxexpat.lib
wxWidgets-2.8.7"build"wince"Pocket PC 2003 (ARMV4)"Debug" wx_gl.lib
wxWidgets-2.8.7"build"wince"Pocket PC 2003 (ARMV4)"Debug" wx_mono.libwxWidgets-2.8.7" include目录也拷贝到其目录下,以后要使用只需要包含这些路径即可。
注意:将以上文件按照文件按照原目录相对结构拷贝到要制作的库路径下,并将
为了以后开发方便,设定的开发库路径为:
wxCELib"include
wxCELib"Debug"winced"wx"msw
wxCELib"Debug
以上是在VS的编译环境,我也尝试过在Eclipse+GCC+WIN32环境下编译通过。由于工作生活中只接触到WIN32和WINCE环境,因此关于wx库只能做这两种环境的描述。