!!!我恨开源软件,及其憎恨!!!
希望与大家交流,因为我是刚刚接触wxWidgets。
经过几天的折磨,终于磕磕绊绊的将wxWidgets环境搭建起来了。
参考http://wiki.wxwidgets.org/Developers_Notebook-WxWinCECompiling里面最后一部分。
进入正题:
环境及准备VS2005,sp1,Wince SDK,wxWidgets等
1、安装SDK,将SDK安装到VS2005的SDK目录下,一定要先装2005,再装SDK
2、打开C:/wx/build/wince中的wx.vcw,按照2005的提示进行转换
3、
修改文件C:/wx/include/wx/msw/wince/libraries.h
修改为
#else
// #error "Unknown SDK, please fill-in missing pieces"
#pragma comment(lib,"aygshell.lib")
#pragma comment(lib,"ceshell.lib")
#pragma comment(lib,"olece400.lib")
#endif
不知道修改后有没有问题
修改文件C:/wx/include/wx/msw/wince/libraries.h
修改为
// #if defined( __WXMSW__ ) || defined( __WXMAC__ ) || defined( __WXGTK__ )
// #include "wx/minifram.h"
// #define wxAuiFloatingFrameBaseClass wxMiniFrame
// #else
// #define wxAuiFloatingFrameBaseClass wxFrame
// #endif
// [4/29/2008 Delores.Liu]
#ifdef __WXWINCE__
#define wxAuiFloatingFrameBaseClass wxFrame
#else
#if defined( __WXMSW__ ) || defined( __WXMAC__ ) || defined( __WXGTK__ )
#include "wx/minifram.h"
#define wxAuiFloatingFrameBaseClass wxMiniFrame
#else
#define wxAuiFloatingFrameBaseClass wxFrame
#endif
#endif
//感谢Delores.Liu
修改文件C:/wx/src/msw/window.cpp
找到函数wxCharCodeWXToMSW,将VkKeyScan注释掉如:
BYTE vks = LOBYTE(/*VkKeyScan*/(wxk));
修改文件C:/wx/src/msw/toplevel.cpp
找到::IsZoomed注释掉
这些问题不改,就不能编译。
但是不知道改了会不会有问题。
修改后进行编译。
4、编译顺序 根据wxWidgets官网的提示,安装顺序编译
- wxzlib
- wxjpeg
- wxexpat
- gl
- mono
但是我再编译gl的时候提示没有找到wxwince28.lib,而wxwince28.lib是mono编译的输出,所以我只能调整编译顺序,先编译mono。然后将wxwince28.lib复制到相应的目录下,再编译gl就可以。到这里,编译工作完成,wxWidgets搭建完成。
5、有点晚了,先回家吃饭,明天再来试验这个环境是否能够使用。