wxWidgets编译简介

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.h

wxWidgets- 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
w
xWidgets- 2.8.7 \lib\vc_dll\wxmsw28ud_aui_vc_custom.dll
w
xWidgets- 2.8.7 \lib\vc_dll\wxmsw28ud_core_vc_custom.dll
wxWidgets- 2.8.7 \lib\vc_dll\wxmsw28ud_gl_vc_custom.dll
w
xWidgets- 2.8.7 \lib\vc_dll\wxmsw28ud_html_vc_custom.dll
w
xWidgets- 2.8.7 \lib\vc_dll\wxmsw28ud_media_vc_custom.dll
w
xWidgets- 2.8.7 \lib\vc_dll\wxmsw28ud_qa_vc_custom.dll
w
xWidgets- 2.8.7 \lib\vc_dll\wxmsw28ud_richtext_vc_custom.dll
w
xWidgets- 2.8.7 \lib\vc_dll\wxmsw28ud_xrc_vc_custom.dll

wxWidgets- 2.8.7 \lib\vc_dll\wxbase28ud.lib
w
xWidgets- 2.8.7 \lib\vc_dll\wxbase28ud_net.lib
w
xWidgets- 2.8.7 \lib\vc_dll\wxbase28ud_xml.lib
w
xWidgets- 2.8.7 \lib\vc_dll\wxexpatd.lib
w
xWidgets- 2.8.7 \lib\vc_dll\wxjpegd.lib
w
xWidgets- 2.8.7 \lib\vc_dll\wxmsw28ud_adv.lib
w
xWidgets- 2.8.7 \lib\vc_dll\wxmsw28ud_aui.lib
w
xWidgets- 2.8.7 \lib\vc_dll\wxmsw28ud_core.lib
w
xWidgets- 2.8.7 \lib\vc_dll\wxmsw28ud_html.lib
w
xWidgets- 2.8.7 \lib\vc_dll\wxmsw28ud_media.lib
w
xWidgets- 2.8.7 \lib\vc_dll\wxmsw28ud_qa.lib
w
xWidgets- 2.8.7 \lib\vc_dll\wxmsw28ud_richtext.lib
w
xWidgets- 2.8.7 \lib\vc_dll\wxmsw28ud_xrc.lib
w
xWidgets- 2.8.7 \lib\vc_dll\wxpngd.lib
w
xWidgets- 2.8.7 \lib\vc_dll\wxregexud.lib
w
xWidgets- 2.8.7 \lib\vc_dll\wxtiffd.lib
w
xWidgets- 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、wxexpat、gl、mono。直接编译会有些许小问题,请看1、2楼回帖。

如果有编译事件错误,重新编译一次即可。

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.lib


注意:将以上文件按照文件按照原目录相对结构拷贝到要制作的库路径下,并将

wxWidgets- 2.8.7 \ include 目录也拷贝到其目录下,以后要使用只需要包含这些路径即可。

          为了以后开发方便,设定的开发库路径为:
          wxCELib\include
          wxCELib\Debug\winced\wx\msw
          wxCELib\Debug


      以上是在VS的编译环境,我也尝试过在Eclipse+GCC+WIN32环境下编译通过。由于工作生活中只接触到WIN32和WINCE环境,因此关于wx库只能做这两种环境的描述。

你可能感兴趣的:(wxWidgets编译简介)