- 论坛徽章:
- 0
|
Linux RedHat 9 上自带的QT版本是QT3.1.1的,所以想享受QT4的乐趣必须将其升级下,先下载QT4原始包(我找了很久都没找到rpm包,所以只好自己编译了)我下的版本为“qt-x11-opensource-src-4.3.4.tar.gz",下载到linux中解压,我在XWindow中直接右击“解压到。。”,呵呵,懒得敲Linux那些烦人的命令。在之前呢,最好先做些工作,不然下面编译会出错的。
打开个终端,输入:
1. ln -s /usr/kerberos/include/com_err.h /usr/include/
2. ln -s /usr/kerberos/include/profile.h /usr/include/
3. ln -s /usr/kerberos/include/krb5.h /usr/include/
反正在这个系统里是这样设置的,不然你编译一般就会报出一个关于“krb5.h”的错误。
其他QT版本,如你下到的:“qt-x11-opensource-src-4.4.3.tar.gz”,还需修改里面的一些文件,它会报“`TIFFReadRGBAImageOriented' undeclared”的错误,修改方法:打开 qtiffhandler.cpp 把 TIFFReadRGBAImageOriented(tiff, width, height, reinterpret_cast(tiffImage.bits()), ORIENTATION_TOPLEFT, 0))改为
TIFFReadRGBAImage(tiff, width, height, reinterpret_cast(tiffImage.bits()), 0)就好了,因为RedHat 9里的 usr/include/tiffio.h没有前一个函数。
下面开始就开始编译安装罗,就等吧。
在终端内,cd到解压出来的文件下面,然后输入:
1. ./configure
2. gmake
3. gmake install
整个过程大约需要2个多小时。
安装好之后就出现下面的界面,对了,它安装的默认路径是:/usr/local/Trolltech/Qt-4.3.4下面
下面来配置Qt4的环境变量:
1. //打开 /etc/profile 文件,在该文件的末尾加上以下语句:
2. PATH=/usr/local/Trolltech/Qt-4.3.4/bin:$PATH
3. QTDIR=/usr/local/Trolltech/Qt-4.3.4
4. MANPATH=$QTDIR/man:$MANPATH
5. LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
6. export PATH QTDIR MANPATH LD_LIBRARY_PATH
系统默认开启的是Qt3,现在我们来修改,启动Qt3的关联文件在“/usr/bin”下面,找到“designer”,我们发现这个文件果然链接的是Qt3的执行文件,在清楚了designer是个链接,通过designer指向qt3的designer, 现在想让designer默认为qt4的designer, 只要重定向链接。同样,想要qmake也默认为QT4的也一样,只要重定向链接。
1. sudo rm /usr/bin/designer
2. sudo ln -s /usr/local/Trolltech/Qt-4.3.4/bin/designer /usr/bin/designer
3. sudo rm /usr/bin/qmake
4. sudo ln -s /usr/local/Trolltech/Qt-4.3.4/bin/qmake /usr/bin/qmake
我的建议最好把那个跟“/usr/local/Trolltech/Qt-4.3.4”下面的执行文件有关的都修改一下链接。这样便可以彻底的使用QT4了。
QT4默认的字体会出现乱码,我们来设置下,打开qtconfig,选“Forts”按照下图来设置,其他不变。
![]()
打开qdesigner出现我们盼望已久的QT4界面
下面我们来安装调试编译环境,这里就不选KDevelop系列了,以为安装起来比较蛮烦,第一RedHat9自带的QT是3.1.1的,要安装KDevelop3.5(可以调试QT4程序),必须要系统Qt版本>=3.3&&
下载“qdevelop-0.25.2.tar.gz”,解压,只需要qmake QDevelop.pro 再make一下,此过程耗时大约十分钟吧。
编译如果出现下面的错误:
1. src/InitCompletion.cpp: In destructor `virtual
2. InitCompletion::~InitCompletion()':
3. src/InitCompletion.cpp:52: parse error before `+' token
4. src/InitCompletion.cpp:53: confused by earlier errors, bailing out
5. make: *** [build/o/unix/InitCompletion.o] Error 1
只需要修改src目录下的InitCompletion.cpp文件:
1. //原文件
2. InitCompletion::~InitCompletion()
3. {
4. QStringList list = QDir( QDir::tempPath() ).entryList(QStringList()
5. foreach(QString file, list)
6. {
7. QFile( QDir::tempPath()+"/" + file ).remove();
8. }
9. ........................
10. }
11. // 修改如下
12. InitCompletion::~InitCompletion()
13. {
14. QStringList list = QDir( QDir::tempPath() ).entryList(QStringList()
15. foreach(QString file, list)
16. {
17. QString str = QDir::tempPath()+"/";
18. QFile( str + file ).remove();
19. }
20. ........................
21. }
编译好之后便可以运行使用了。
我们来新建一个工程,先感觉下:
QDevelop的缺点就是不能正常显示中文,郁闷,我只好在其他地方写好,然后粘贴过来。
编译、运行:
下面给我们的程序在桌面上按个家:
这样就可以跟在windows下面开发差不多了。增加了开发效率。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/91151/showart_1808700.html |
|