Vistb's Tiny IT Space

Am I a Geek?

导航

Qt的前途、轻量Windows GUI库及其他

Posted on 2011-02-14 16:24  Vistb  阅读(2977)  评论(0)    收藏  举报

     前段时间重装了系统,IDE只安装了VS2010。安装好Qt后却发现程序编译后不能运行,上网一查,才发现是预编译的Qt是与VS2008的相关库链接的,和VS2010存在兼容性问题。而想解决的话,最简单和根本的办法就是自己重新编译一次Qt。编译Qt,至少从我的角度来说,是一件挺烦人的事情,极其的消耗时间(有可能十几个小时甚至更长)而且容易出错(很容易卡在opensll库的编译失败上),而且很多插件编译不进去(例如SSL的支持就需要openssl才行)。这使我不禁在想,Qt作为一个完整的应用程序开发框架,当然很强大,但是是不是太臃肿了?很多时候,我们为了一个简单的GUI程序,就要带上10MB甚至更多的dll文件。虽然可以静态编译Qt,静态链接Qt,但是据说对体积的控制也不是很理想。另一方面,编译Qt,技术难度不大,很是极其消耗时间,也是一件恼人的事情。因此,Qt会不会越走越重,最后自己把自己拖垮,真的需要好好考虑(不过Qt好像确实在进行更细粒度的模块化工作)。另一方面,最近Nokia和微软的战略合作的达成,对Qt的前途也蒙上了一层阴影。

     话归原题,不愿编译Qt,我就开始找寻其他轻量级的GUI库。走入视野的有Gtk、SmartWin++、Fox、WxWidgets、FLTK。 Gtk一堆的依赖组件,虽然成熟,但还是放弃了;SmartWin和Fox编译都不成功,也没办法;wxWidgets很受追捧,但看见说它是类似MFC的那种API,我顿时就没了兴趣。最后,选来选去,还是FLTK最合胃口。但是FLTK版本众多,1.1是成熟的稳定版,但对中文支持不好;2.0是实验版本,使用新的API,相对简单易用,对中文支持良好,但是已经基本处于废弃状态,没有什么开发和维护。1.3是当前正在积极开发的版本,对中文支持良好。我最后选用的是1.3版本。值得说明的是,推荐大家使用1.3的最新开发版本而不是“相对稳定”的版本,就我来说,1.3.x-r8411使用没有问题,但是1.3.0rc3有严重的bug……

     最后闲扯一个最近使用texnicenter时遇到的问题。使用过texnicenter的都知道,重新编译tex到pdf时,如果原来打开的pdf没有关闭会使得pdf编译失败。解决办法就是通过设置DDE让acrobat或者adobe reader关闭打开的pdf。但是这个办法对acrobat x(即acrobat 10)或者adobe reader 10是失效的……一番查找才发现原来adobe在最新版中改变了一些接口。因此,解决办法就是设置texnicenter时Server一栏填写AcroViewA10(针对acrobat 10)或者AcroViewR10(针对adobe reader 10)。