设为首页 收藏本站
查看: 394|回复: 0

[经验分享] Windows下编译wxWidgets 2.8.9

[复制链接]

尚未签到

发表于 2016-5-23 08:07:46 | 显示全部楼层 |阅读模式
  wxWidgets 2.8.9出来了
  以前用makefile编过wx,这次用IDE编译。
  
  1)下载后安装到默认目录
C:\wxWidgets-2.8.9\
  2)使用VC++2005,打开build\msw目录中的wx.dsw,提示转换工程文件格式,选yes to all
  3)可以选择Build\batch build...或逐个选择项目编译,由于batch build项目太多了,选择很费功夫,我选择逐个编译,wx2.8.9中一共包含20个lib,按如下顺序逐个编译,我选择编译Unicode Debug和Unicode Release的版本(unicode,debug and release静态库)
wxjpeg
wxpng
wxtiff
wxzlib
wxregex
wxexpat
base
net
odbc
xml
core
gl
html
media
qa
adv
dbgrid
xrc
aui
richtext
(参考资料:http://wiki.wxwidgets.org/MSVC#Building_Single_Configurations)
  在编译到wxtiff时,出现错误:syntax error : identifier 'PVOID64'
网上查了下,这是由于头文件搜索顺序引起的。由于我安装了dx8sdk和dx9sdk,dxsdk的头文件搜索顺序在Platformsdk之前。而dxsdk中也有basetsd.h头文件,而该文件无POINTER_64的定义,因此编译通不过。把include目录表中$(VCInstallDir)PlatformSDK\include调到最上面就可以了。
  其实不按照这个顺序也能编译出来,只是如果出现问题可以参考一下这个顺序。另外比较玄乎的说法是,即使编译过了,使用时有些莫名其妙的错误和编译顺序相关。为了避免以后出现问题,我按顺序编译了一遍。
  4)编好的lib文件在\lib\vc_lib中,一共20X2个lib:
C:\wxWidgets-2.8.9\lib\vc_lib 的目录
  2008-10-25 15:58 593,260 wxjpegd.lib
2008-10-25 16:00 249,650 wxjpeg.lib
2008-10-25 16:01 325,074 wxpng.lib
2008-10-25 16:01 518,522 wxpngd.lib
2008-10-25 16:18 565,814 wxtiff.lib
2008-10-25 16:19 1,202,186 wxtiffd.lib
2008-10-25 16:32 195,026 wxzlibd.lib
2008-10-25 16:32 102,740 wxzlib.lib
2008-10-25 16:35 284,204 wxregexud.lib
2008-10-25 16:35 276,884 wxregexu.lib
2008-10-25 16:35 223,390 wxexpat.lib
2008-10-25 16:35 464,492 wxexpatd.lib
2008-10-25 16:36 8,612,502 wxbase28ud.lib
2008-10-25 16:36 5,052,358 wxbase28u.lib
2008-10-25 16:36 642,144 wxbase28u_net.lib
2008-10-25 16:36 1,308,364 wxbase28ud_net.lib
2008-10-25 16:37 306,176 wxbase28ud_odbc.lib
2008-10-25 16:37 15,518 wxbase28u_odbc.lib
2008-10-25 16:37 101,804 wxbase28u_xml.lib
2008-10-25 16:37 442,078 wxbase28ud_xml.lib
2008-10-25 16:37 30,883,342 wxmsw28ud_core.lib
2008-10-25 16:38 19,642,438 wxmsw28u_core.lib
2008-10-25 16:39 14,418 wxmsw28u_gl.lib
2008-10-25 16:40 334,264 wxmsw28ud_gl.lib
2008-10-25 16:40 5,296,418 wxmsw28ud_html.lib
2008-10-25 16:40 3,256,338 wxmsw28u_html.lib
2008-10-25 16:40 525,204 wxmsw28u_media.lib
2008-10-25 16:41 1,201,202 wxmsw28ud_media.lib
2008-10-25 16:42 445,174 wxmsw28u_qa.lib
2008-10-25 16:42 923,282 wxmsw28ud_qa.lib
2008-10-25 16:42 6,775,606 wxmsw28ud_adv.lib
2008-10-25 16:42 4,245,372 wxmsw28u_adv.lib
2008-10-25 16:43 14,430 wxmsw28u_dbgrid.lib
2008-10-25 16:43 334,322 wxmsw28ud_dbgrid.lib
2008-10-25 16:43 7,603,946 wxmsw28ud_xrc.lib
2008-10-25 16:44 4,974,382 wxmsw28u_xrc.lib
2008-10-25 16:44 1,510,758 wxmsw28u_aui.lib
2008-10-25 16:44 2,720,422 wxmsw28ud_aui.lib
2008-10-25 16:44 6,019,480 wxmsw28ud_richtext.lib
2008-10-25 16:45 3,781,466 wxmsw28u_richtext.lib
40 个文件 121,984,450 字节
  虽然是unicode,但有些库的名字里并没有u,因为它们没涉及到unicode相关的代码。
  5)测试:打开C:\wxWidgets-2.8.9\samples中的samples.dsw,提示convert时选yes to all,将编译配置选成unicode release或unicode debug,选中某个工程build。
我编了一个aui的例子,release版本是1.63M。
不过将浮动工具条拖出来时程序竟然崩溃了,正好用VC debug一下看看。
执行wxAuiManager::OnFloatingPaneMoving()时,得到的pane的frame指针为空,导致执行pane.frame->GetPosition()时程序崩溃。
恰好我以前装了wxPython2.8.8.1的demo,运行一下试试,相同操作没有问题。。
wxPython DEMO中使用的是wx.ToolBar,而这儿使用的是wxAuiToolBar,没有可比性了,是我编出来的库有问题?重新编译了一下aui库,还是如此。继续尝试,发现除了工具条其他的窗口都没问题。看了看demo和wx的代码,感觉应该是这个新加入的类wxAuiToolBar的问题,google了一下,果然有crash bug:http://trac.wxwidgets.org/ticket/10036
看来这个新类还不稳定,等等才能用啊

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-220495-1-1.html 上篇帖子: 在Windows上安装Redmine 下篇帖子: Windows Embedded征文比赛
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表