并选择中间的“LGPL/ Free” ,选择“ Download Qt libraries 4.5 for Linux/X11(120 Mb)”下载。
2. 解压该包
#tar -zxvf qt-x11-opensource-src-4.5.3.tar.gz
3.安装编译环境
因Ubuntu在默认安装下,并没安装编程环境,则必须安装编译环境:sudo apt-get install build-essential。安装后,则g,g++,make会被安装。----否则下一步执行时会出错终止!
#sudo apt-get install build-essential
4. 把该包拷贝到英文目录(除tmp目录)下
#./configure
途中要选择“o”表示安装开源的版本(哎几千美元阿,平常老百姓谁买哦!),选择“yes”表示同意。
但最终还是出错了,其错误信息如下:
Basic XLib functionality test failed!
You might need to modify the include and library search paths by editing
QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in /tmp/qt-x11-opensource-src-4.5.3/mkspecs/linux-g++.
解决方法,执行:
#sudo apt-get install libx11-dev libfreetype6-dev libavahi-gobject-dev libSM-dev libXrender-dev libfontconfig-dev libXext-dev
参考:http://www.qtcn.org/bbs/read.php?tid=19899
最终显示:
Qt is now configured for building. Just run 'make'.
Once everything is built, you must run 'make install'.
Qt will be installed into /usr/local/Trolltech/Qt-4.5.3
表示错误解决了!
5. make
#make
后出现很多错误,截了一段如下:
……(好多license相关的错误)。
make[1]: *** [.obj/release-static/qisciicodec.o] 错误 1
make[1]:正在离开目录 `/tmp/qt-x11-opensource-src-4.5.3/src/tools/bootstrap'
make: *** [sub-tools-bootstrap-make_default-ordered] 错误 2
通过研究发现,关于License的错误可能是因为刚开始我想安装“商业版”输入过一个错误的注册码,可能把文件给损坏了(因为:./configure没用,不会更新或覆盖以前的内容!),我决定重新解压文件。
于是解决了问题!
最终编译去了1h50m,真久啊!
6. 安装QT
#make install
文件被安装在:“/usr/local/Trolltech/Qt-4.5.3”下。
7.设置环境变量
# vi ~/.bashrc
其添加的内容如下:
QTDIR=/usr/local/Trolltech/Qt-4.5.3/
PATH=$QTDIR/bin:$PATH
MANPATH=$QTDIR/doc/man:$MANPATH
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QTDIR PATH MANPATH LD_LIBRARY_PATH
必须重启后才生效。
8.执行QT程序过程如下:
到.cpp文件的目录下:
qmake -project (生成.pro)
qmake (生成MAKEFILE)
make (生成可执行文件)
9.解决QT程序乱码问题
将QTextCodec *codec = QTextCodec::codecForName("GBK");改成:
QTextCodec *codec = QTextCodec::codecForName("utf8");
至此,解决了乱码问题,我估计是:因系统刚装,并没有该种字体,所以才导致乱码问题。
参考:http://blog.youkuaiyun.com/wangqis/archive/2009/09/22/4577712.aspx
总参考:
http://blog.youkuaiyun.com/ralix/archive/2008/03/30/2229783.aspx
http://blog.youkuaiyun.com/dongliqiang2006/archive/2009/05/01/4141750.aspx