终于进入正题了,我们先建立一个最简单的demo:
(1) 建立工程
用new projects建立一个wxWidgets application,在project option里使用Using UNICODE static wxWidgets libraries,当然如果你编译的是其他类型的库就选其他的。
这时建立的工程使用的却都是wxWidgets-2.6.0的配置,你需要自己修改wxWidgets的配置。
在左边栏的工程上点右键->Build Options进行配置.
(2) 配置Custom variables
WX_DIR配置为wxWidgets config时设的--prefix的目录,我的就是mingw啦。
WX_CFG配置为$(WX_DIR)/bin/wx-config。
(3) 配置directory
Compiler:
$(WX_DIR)/include/wx-2.8
$(WX_DIR)/lib/wx/include/msw-unicode-release-static-2.8
Linker:
$(WX_DIR)/lib
Resource compiler
$(WX_DIR)/include/wx-2.8
(4) 配置Linker
将原来的mswxu去掉,改成wx_mswu-2.8
再加上lib目录下的其他几个libwx开头的库,如wxpng-2.8。
注意这些库一定要排在所有库的最前面,否则link的时候仍然会出错。
(5) 编译运行
最重要的时刻到了, 点击Build and Run吧!怎么样,出错了吧,因为还要改一些小地方:)
这肯定是CB的bug了,你会看到new wxMenu时报错, 应该把""改成_(""), 这是因为我们现在建立的是Unicode程序,wxWidgets处理的字符串全都要加上"_()"这个宏.
现在可以运行了吧~
使用CB的wxSmith插件可以进行RAD开发, 大家可以看看这篇文章:
WxSmith Tutorial & Pointers
写的很详细,不过仍然是基于wx 2.6.0的,如果用在2.8的库上会出一些小错误,不过很好改,有空的话我再写吧~
(6) something about CB
CB的编辑器有个问题,就是对中文的支持不是很好,比如要把窗口的标题使用中文字符串就不行,不过这只是编辑器的问题,我们换个支持UTF-8的编辑器编辑这个源文件就可以了,比如emacs23:) 这样中文就能用在你的wxWidget里了吧~
最后强烈推荐Code::Blocks,它的开发团队非常活跃,每天都会有进展,这点非常重要,听说Dev-CPP的原创人之一都已经跳槽到CB开发了~ 希望更多的人能支持这个IDE,毕竟开源界太缺少这样的工具了,虽然写代码我一般用emacs,但是要开发GUI程序的话,还是有个RAD工具最好了~
(1) 建立工程
用new projects建立一个wxWidgets application,在project option里使用Using UNICODE static wxWidgets libraries,当然如果你编译的是其他类型的库就选其他的。
这时建立的工程使用的却都是wxWidgets-2.6.0的配置,你需要自己修改wxWidgets的配置。
在左边栏的工程上点右键->Build Options进行配置.
(2) 配置Custom variables
WX_DIR配置为wxWidgets config时设的--prefix的目录,我的就是mingw啦。
WX_CFG配置为$(WX_DIR)/bin/wx-config。
(3) 配置directory
Compiler:
$(WX_DIR)/include/wx-2.8
$(WX_DIR)/lib/wx/include/msw-unicode-release-static-2.8
Linker:
$(WX_DIR)/lib
Resource compiler
$(WX_DIR)/include/wx-2.8
(4) 配置Linker
将原来的mswxu去掉,改成wx_mswu-2.8
再加上lib目录下的其他几个libwx开头的库,如wxpng-2.8。
注意这些库一定要排在所有库的最前面,否则link的时候仍然会出错。
(5) 编译运行
最重要的时刻到了, 点击Build and Run吧!怎么样,出错了吧,因为还要改一些小地方:)
这肯定是CB的bug了,你会看到new wxMenu时报错, 应该把""改成_(""), 这是因为我们现在建立的是Unicode程序,wxWidgets处理的字符串全都要加上"_()"这个宏.
现在可以运行了吧~
使用CB的wxSmith插件可以进行RAD开发, 大家可以看看这篇文章:
WxSmith Tutorial & Pointers
写的很详细,不过仍然是基于wx 2.6.0的,如果用在2.8的库上会出一些小错误,不过很好改,有空的话我再写吧~
(6) something about CB
CB的编辑器有个问题,就是对中文的支持不是很好,比如要把窗口的标题使用中文字符串就不行,不过这只是编辑器的问题,我们换个支持UTF-8的编辑器编辑这个源文件就可以了,比如emacs23:) 这样中文就能用在你的wxWidget里了吧~
最后强烈推荐Code::Blocks,它的开发团队非常活跃,每天都会有进展,这点非常重要,听说Dev-CPP的原创人之一都已经跳槽到CB开发了~ 希望更多的人能支持这个IDE,毕竟开源界太缺少这样的工具了,虽然写代码我一般用emacs,但是要开发GUI程序的话,还是有个RAD工具最好了~