范圣帅 - 卡农的魔笛

卡迪的快乐生活

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

// * 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 、依次单独编译 wxregexwxzlibwxexpatwxtiffbasewxjpegwxpngcoreodbcxmladvhtmlnetgldbgridqarichtextauixrcmedia 库。

其中目前版本 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
wxWidgets-2.8.7\lib\vc_dll\wxbase28ud_net.lib
w
xWidgets-2.8.7\lib\vc_dll\wxbase28ud_xml.lib
wxWidgets-2.8.7\lib\vc_dll\wxexpatd.lib
w
xWidgets-2.8.7\lib\vc_dll\wxjpegd.lib
wxWidgets-2.8.7\lib\vc_dll\wxmsw28ud_adv.lib
w
xWidgets-2.8.7\lib\vc_dll\wxmsw28ud_aui.lib
wxWidgets-2.8.7\lib\vc_dll\wxmsw28ud_core.lib
w
xWidgets-2.8.7\lib\vc_dll\wxmsw28ud_html.lib
wxWidgets-2.8.7\lib\vc_dll\wxmsw28ud_media.lib
w
xWidgets-2.8.7\lib\vc_dll\wxmsw28ud_qa.lib
wxWidgets-2.8.7\lib\vc_dll\wxmsw28ud_richtext.lib
w
xWidgets-2.8.7\lib\vc_dll\wxmsw28ud_xrc.lib
wxWidgets-2.8.7\lib\vc_dll\wxpngd.lib
w
xWidgets-2.8.7\lib\vc_dll\wxregexud.lib
wxWidgets-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库只能做这两种环境的描述。

posted on 2009-04-30 12:01  范圣帅  阅读(941)  评论(0编辑  收藏  举报