今天晚上把从wxWindows 上下载的wxWindows2.4.2安装好了,并且在VC6.0中成功的编译了几个wxWindows自带的例子.在这里把自己的一点体会和经验写下来,供后来者参考借鉴.
wxWindows是一个正在SourceForge开发的开源项目,提供了一系列在Windows上封装API的小部件(wxWidgets),也就是使用了C++来封装了Win32 API.如果你能够进入到wxWindows的网站(有很多人怀疑这个网站http://www.wxwindows.org/是否真的存在,怀疑它的真实性,因为很多人说他们从来没有成功的访问过这个网站,这个可能是代理的问题,也有可能是国内教育网访问不了,不过对于我自己来说,我是每次都成功的访问了这个网站的),你会发现他们的LOGO现在是wxWidgets了.
个人觉得就面向对象来说,wxWindows做的还是比较好的.不过他们已经做成了一个系列wxWidgets.
wxWindows 所有的类请看: http://www.wxwindows.org/classes2.htm
wxWindows的最新版本是2.5.4,我自己下载的是2.4.2,是一个比较稳定的版本.而2.5.4还在测试中.(其实我2.5.4也下载了,但是只安装了2.4.2版的^_^)
下面给出wxWindows官方上的下载链接,其实不是真正的链接,它会转到sourceforge,然后要求你选择一个离你最近的服务器下载.
wxMSW-2.5.4-setup.zip (1)
wxMSW-2.5.4.zip (2)
wxMSW-2.4.2-setup.zip (1)>>>这个是稳定版
wxMSW-2.4.2.zip (2)
一般来说setup的文件比zip的大,看你愿意下载哪一个了.如果你喜欢傻瓜式一点的,就下载setup的.反之,如果你喜欢自己动手,丰衣足食的话,那么就下载zip版本的.个人觉得如果对安装一些类库比较熟悉的话,这两个没有什么区别.
假设你下载了setup的,下载完之后,安装到 C:/program files/wxWindows242 目录下面去.
如果是zip的,可以解压缩到 C:/program files/wxWindows242 目录也同样完成了安装.
不过切莫以为现在就大功告成了.这个只是文件的安装成功.还有很多具体的事情和很好费时间的事情需要我们去做.下面我一一道来:
首先,如果你有耐心看英文的话,你最好先把wxWindows242/docs/msw目录下的install.txt看一下,据我所知,我们大家使用VC还是比较多的,针对我们自己使用的IDE,把install.txt中与IDE相关的设置部分看一遍.
然后,如果你不想看这个英文的install.txt 的话,或者你看不懂它到底要我们干什么,那么就接着看我是怎么做的,反正我也不太懂它要我搞什么鬼.反正最后我是能够编译它提供的例子了.
接下来要做的就是打开wxWindows/src目录下的wxWindows.dsw(如果没有的话,打开wxWindows.dsp也行),不要告诉我你没有装VC啊~~
打开了之后, 打开wxWindows project 的Build菜单,选择Win32 Debug 或者 Win32 Release 配置 , 然后编译它.提醒:你也可以选择 Batch Build ,我就是选择了这种编译的方式,不过害苦了我,竟然花了接近一个小时的时间(感觉上的,没有具体计算和统计),才编译完那些lib,dll之类的.
编译完了之后,lib目录中会有这样的文件,有U和没有U的区别就是一个是Unicode版的,一个是ANSI版的;有D和没有D的区别就是前一个是调试版的,后一个是发行版的.
wxmsw.lib wxmswd.lib ; ANSI Release/Debug
wxmswu.lib wxmswud.lib ; UNICODE Release/Debug
wxmsw24.lib wxmsw24d.lib ; ANSI DLL Release/Debug
wxmsw24u.lib wxmsw24ud.lib ; UNICODE DLL Release/Debug
当然因为我选择的是批处理编译的,最后还得到了类似的jpeg.lib, png.lib, tiff.lib, zlib.lib, and regex.lib.
编译的时候,settings里面的东西暂时不要动任何东西,我是没有动的.不要使用MFC,就是NOT USE MFC.
下面是我的编译结果删除了中间的很多部分:
------------------------------------------------------------------------
----------Configuration: jpeg - Win32 Release----------
jpeg.lib - 0 error(s), 0 warning(s)
----------Configuration: jpeg - Win32 Debug----------
jpegd.lib - 0 error(s), 0 warning(s)
----------Configuration: png - Win32 Release----------
png.lib - 0 error(s), 0 warning(s)
----------Configuration: png - Win32 Debug----------
pngd.lib - 0 error(s), 0 warning(s)
----------Configuration: regex - Win32 Release----------
regex.lib - 0 error(s), 0 warning(s)
----------Configuration: regex - Win32 Debug----------
regexd.lib - 0 error(s), 0 warning(s)
----------Configuration: tiff - Win32 Release----------
tiff.lib - 0 error(s), 7 warning(s)
----------Configuration: tiff - Win32 Debug----------
tiffd.lib - 0 error(s), 7 warning(s)
----------Configuration: zlib - Win32 Release----------
----------Configuration: wxWindows - Win32 Release Unicode DLL----------
Creating ../lib/mswdllu/wx/setup.h from ../include/wx/msw/setup.h
已复制 1 个文件。
Creating library ../lib/wxmsw24u.lib and object ../lib/wxmsw24u.exp
wxmsw24u.dll - 0 error(s), 2 warning(s)
----------Configuration: zlib - Win32 Debug----------
----------Configuration: wxWindows - Win32 Debug Unicode DLL----------
Creating ../lib/mswdllud/wx/setup.h from ../include/wx/msw/setup.h
已复制 1 个文件。
Creating library ../lib/wxmsw24ud.lib and object ../lib/wxmsw24ud.exp
wxmsw24ud.dll - 0 error(s), 0 warning(s)
----------Configuration: wxWindows - Win32 Release Unicode----------
Creating ../lib/mswu/wx/setup.h from ../include/wx/msw/setup.h
已复制 1 个文件。
wxmswu.lib - 0 error(s), 2 warning(s)
----------Configuration: wxWindows - Win32 Debug Unicode----------
Creating ../lib/mswud/wx/setup.h from ../include/wx/msw/setup.h
已复制 1 个文件。
wxmswud.lib - 0 error(s), 0 warning(s)
----------Configuration: wxWindows - Win32 Release DLL----------
Creating ../lib/mswdll/wx/setup.h from ../include/wx/msw/setup.h
已复制 1 个文件。
Creating library ../lib/wxmsw24.lib and object ../lib/wxmsw24.exp
wxmsw24.dll - 0 error(s), 2 warning(s)
----------Configuration: wxWindows - Win32 Debug DLL----------
Creating ../lib/mswdlld/wx/setup.h from ../include/wx/msw/setup.h
已复制 1 个文件。
Creating library ../lib/wxmsw24d.lib and object ../lib/wxmsw24d.exp
wxmsw24d.dll - 0 error(s), 0 warning(s)
----------Configuration: wxWindows - Win32 Release----------
Creating ../lib/msw/wx/setup.h from ../include/wx/msw/setup.h
已复制 1 个文件。
wxmsw.lib - 0 error(s), 2 warning(s)
----------Configuration: wxWindows - Win32 Debug----------
Creating ../lib/mswd/wx/setup.h from ../include/wx/msw/setup.h
已复制 1 个文件。
wxmswd.lib - 0 error(s), 0 warning(s)
-----------------------------------------------------------------------------
编译工作完成了之后我们就可以开始体验wxWindows给我们提供的Samples了.我编译了menu和image,这个编译也是不需要使用MFC的.编译之前,最好是把VC的包含路径设置一下(不设置也行,那你就要在wxWindows的安装目录下面建工程了),包含的路径是:
include的路径: C:/PROGRAM FILES/WXWINDOWS242/INCLUDE
C:/PROGRAM FILES/WXWINDOWS242/INCLUDE/WX
lib路径添加: C:/PROGRAM FILES/WXWINDOWS242/LIB
至于wxWIndows和MFC怎么结合,以后再写文章来阐述了.
说到可执行文件很大的这个传闻,我今晚倒是有了一个清醒的了解,下面是我得到的调试版,发行版和使用wxWindows的DLL版本的image.exe文件大小:
image/Debug 2.19 MB (2,297,932 字节)
image/Release 976 KB (999,424 字节)
image/ReleaseDll 72.0 KB (73,728 字节)
我们一下字可以看出来,为了节省硬盘空间,我们应该尽量使用Release版和DLL版(注意,这三个版本均没有使用MFC,只是最后的DLL版,需要相应的dll文件支持.
下面给四个截图,为了不让打开速度减慢,只给了链接,请点击查看:
http://blog.csdn.net/images/blog_csdn_net/huyoo/60597/o_menusample.gif
http://blog.csdn.net/images/blog_csdn_net/huyoo/60597/o_start.gif
http://blog.csdn.net/images/blog_csdn_net/huyoo/60597/o_open.gif
http://blog.csdn.net/images/blog_csdn_net/huyoo/60597/o_show.gif
最后,祝大家好运,尽情玩!!!
若有wxWindows的资源,我以后会添加加在本页后面的.
------------------------------------------------------
wxWindows官方网址
wxWindows 2用C++编写跨平台程序--中文手册[推荐] 英文原文
细述 wxWindows 可移植 C++ 和 Python 工具箱简介 [推荐] 英文原文
受微软压力 wxWindows 改名为 wxWidgets
浅谈 wxWindows FrameWork
CSDN技术中心 基于wxWindows的“hello world”
wxWindows 事件表兰叶穿冰Blog上更多[推荐]
wxWidgets(wxWindows)编程工具[推荐]
wxWindows的不爽