【QT图形界面编程】如何编译静态Qt库
2010-04-12 19:41
转载 from http://blog.youkuaiyun.com/johncarmark/archive/2009/10/28/4738158.aspx
我在国内外Qt论坛上看到的最多的问题之一就是如何编译静态Qt库,可见在动态链接库(Windows: .dll, Linux: .so)大势所趋的今天,静态链接库还是具有其存在的合理性和广泛需求。首先看看动态库给我们带来了什么:
1. 开发时的复用性:成千上万的各种实用库,包含它们的头文件,你就可以开始使用它们提供的功能;
2. 编译时的快捷化:进行过静态链接编译的人都知道,其编译过程的时间消耗是动态链接的数倍倍甚至更多;
3. 部署时的轻量化:如果你的程序使用操作系统自带的动态库,或者是一些非常流行的库。那么部署你的软件时,这些库便可以不用包含在你的packge里面,大 大减小了其体积;
4. 使用时的可维护性:某个库如果发布了更新的版本,那么你只需替换这个动态库文件,而不需要重新编译你的整个程序。
在如今这个时不时都需要给软件打补丁的时代,这是相当方便的。 那么,她又会给我们带来什么烦恼呢?软件的易用性至上。所谓易用性,不单单指这个进入了这个软件后使用起来多么多么方便,使用之前的那些过程同样也是易用 性的一部分。
用过Linux的可能都会有同感,装个软件真难啊,一会儿提示缺这个so库,一会儿这个so和那个so又不兼容了,还有甚者,你还需要在你的帐户的配置文 件里设置一大堆参数……还没安装完,就已经放弃了使用这个软件的念头。我想,易用性的问题也是Linux如此强大可是普及率远远不及Windows的根源 吧,毕竟绝大多数的用户需要的是一个傻瓜相机般的操作系统。
不过在Windows下,常常你也会遇到”某个dll无法找到,程序无法启动”、”需要.net fr