经常在网上看到一些朋友关于如何安装和使用Qt的问题,一直以为大家好好看看Qt文档就可以解决问题的,不过看来不把这样一个文档放在最显眼的位置,大家肯定还是会有些疑问的。开始试着写这样一个文档,肯定存在很多问题,欢迎大家多提建议,我会慢慢改进的。谢谢了。
因为Qt提供了自由的版本,所以这里就只讨论Qt自由版。
假设你把上面下载的文档放到了/root下吧。
cd /root
如果是tar.gz文件:
tar zxvf qt-x11-version.tar.gz
如果是tar.bz2文件
tar jxvf qt-x11-version.tar.gz
这样会生成/root/qt-version目录。这里的version是指实际的版本号。目前Qt的版本都已经到3.3.1了,就不讨论2.x了。
mv /root/qt-version /usr/local/qt
把目录移到/usr/local下吧,当然你也可以把它移到别的地方。
下面来配置参数,我们就假设用的是bash、ksh、zsh或者sh吧。
编辑自己的配置文件($HOME/.bash_profile或者$HOME/.profile)或者系统的配置文件(/etc/profile),添加如下几行(文本编辑就不用再教了吧,vi、emacs、kate、gedit都可以):
QTDIR=/usr/local/qt
PATH=$QTDIR/bin:$PATH
MANPATH=$QTDIR/man:$MANPATH
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QTDIR PATH MANPATH LD_LIBRARY_PATH
保存(记得一定要保存)。
然后注销,重新登录系统,使配置文件生效。或者不注销,可以使用source命令,用法:
source $HOME/.bash_profile
进入Qt的源码目录:
cd /usr/local/qt
开始编译:
./configure
会看到一个你是不是同意GPL/QPL的协议的问题,敲入yes回车即可。
X11下的自由版,默认是不带多线程支持的,如果大家想建立带多线程支持的库:
./configure -thread
其实还有很多其它配置参数,大家以后再学习就可以了。
./configure -help
可以列出所有的可选参数。
make
一般需要一两个小时,不要着急。
编译好之后,帮助文档在/usr/local/qt/doc/html,主页是/usr/local/qt/doc/html/index.html,实例都在/usr/local/qt/examples。
编程需要使用makefile,我想大家都应该知道吧。不过在Windows下很多朋友因为长期使用IDE已经不太了解它底层的编译过程了,建议大家稍微看一下有关这方面的资料。有关makefile的写法,建议大家到网上去查找有关资料。Linux相关的工具是autoconf/automake,网上有关它们的文章也不少。
这里我们就介绍一下Trolltech提供的qmake。
Qt中就自带了qmake,一般在$QTDIR/qmake下就是。当然编译好的二进制程序都放在$QTDIR/bin下了。
有一个比较重要的环境变量QMAKESPEC,是用来表明操作系统和编译器的,一般我们用的都是linux-g++。
下面就写个简单的例子:
SOURCES = hello.cpp \ main.cpp HEADERS = hello.h CONFIG += qt warn_on release
我们假设你的应用程序是有main.cpp、hello.h、hello.cpp三个文件构成。上述文件内容就是hello.pro文件的内容。这四个文件在同一目录下。
生成makefile:
qmake -o Makefile hello.pro
这样就会生成这个项目的Makefile了。
qmake还可以为visual studio生成dsp文件:
qmake -t vcapp -o hello.dsp hello.pro
有了Makefile之后的编译方法如下:
linux下就是用make就可以了:
make
windows下就是用nmake就可以了:
nmake
这样就会生成相应的二进制程序了。
关于qmake的详细用法,在Trolltech的相关文档中有更详尽的描述,请参考qmake用户手册。
关于本文,有什么意见或者建议的话,请来信指教,谢谢。