在 redhat9.0 安装QT4 开发平台

安装平台为 redhat9.0

本文综合网上教程 根据自己实践综合而来。

首先在这里下载 ftp://ftp.qtsoftware.com/qt/source/

qt-embedded-linux-opensource-src-4.5.1.tar.bz2

qt-x11-opensource-src-4.5.1.tar.gz

 

qt-x11版本可以产生Qt开发工具,如designer等等,最重要的是可以得到qvfb,嵌入式的开发有了qvfb,就可以不需要实际的开发板,也可以开发Qt应程序。qt-embedded版本就是专门用于嵌入式方面的版本。下面是安装步骤:
[root@localhost linuxshare]# tar -jxvf qt-embedded-linux-opensource-src-4.5.1.tar.bz2

[root@localhost linuxshare]# tar -zxvf qt-x11-opensource-src-4.5.1.tar.gz

然后把 qt-embedded-linux-opensource-src-4.5.1 分别复制为如图所示

 

 

 

这里,qt-embedded有两个复制:qt-embedded-linux-opensource-src-4.5.1-x86 和qt-embedded-linux-opensource-src-4.5.1-arm,根据他们的名字可以知道前者是适合x架构的,后者适合arm架构为什么需要两个呢?如果有开发板的话,可以只编译qt-embedded版本成arm架构的就可以了,但是很多时候用qvfb的话,开发会方便很多,所以多编译一个x86架构的也不错。这里是否有些疑问,qt-x11也是适合x86结构的,这不是和qt-embedded重复了吗?答案是这样的,qt-embedded版本只能在嵌入式板子上面运行,编译成x86架构的程序也只能在x86的嵌入式板子上跑。前面说过,我们需要qvfb来开发,但是qvfb只能执行x86架构的应用程序,所以需要让qt-embedded生成关于x86的库和其他文件。而将qt-embedded编译成arm,又是为什么呢?道理很简单,我最终的qt应用程序需要在arm架构上面运行,当然需要这方面的库,所以编译成arm也就顺理成章了。好了,现在简单的总结一下,首先,使用qt-x11提供的库和开发工具开发出qt应用程序,然后使用qt-embedded关于x86库和工具再次编译我们开发qt应用程序,这是所得到的可执行文件就可以在qvfb上运行了,最后,使用qt-embeddedd的arm库再次编译就可以得到在arm上能运行的可执行程序。很明显,如果有开发板,第二步是可要可不要的(最好是要),如果没有开发板的话,第三步也就没必要了,这样就不需要将qt-embedded编译成适合arm架构的。

 

 


然后 打开个终端,输入:

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”的错误,修改方法:打开 ./src/plugins/imageformats/tiff/qtiffhandler.cpp

把 TIFFReadRGBAImageOriented(tiff, width, height, reinterpret_cast<uint32 *>(tiffImage.bits()), ORIENTATION_TOPLEFT, 0))改为

TIFFReadRGBAImage(tiff, width, height, reinterpret_cast<uint32 *>(tiffImage.bits()), 0)就好了,因为RedHat 9里的 usr/include/tiffio.h没有前一个函数。

下面开始就开始编译安装罗,就等吧。

 

 qt-x11:       

 ./configure -qvfb

make

cd tools/qvfb

make

cd ../..

                   make install

                    cp tools/qvfb/qvfb* /usr/local/Trolltech/Qt-4.5.1/bin

qt-embedded:

x86:       

./configure

make

 make install

 

arm:     

./configure -xplatform pws/linux-arm-g++ -arch arm

                     make

                     make install

 

 

整个过程大约需要5个多小时。

安装好之后就出现下面的界面,对了,它安装的默认路径是:/usr/local/Trolltech/Qt-4.5.1下面

 

下面来配置Qt4的环境变量:

1.              //打开 /etc/profile 文件,在该文件的末尾加上以下语句:

2.              PATH=/usr/local/Trolltech/Qt-4.5.1/bin:$PATH

3.              QTDIR=/usr/local/Trolltech/Qt-4.5.1

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.5.1/bin/designer /usr/bin/designer

3.              sudo rm /usr/bin/qmake

4.              sudo ln -s /usr/local/Trolltech/Qt-4.5.1/bin/qmake /usr/bin/qmake

我的建议最好把那个跟“/usr/local/Trolltech/Qt-4.5.1”下面的执行文件有关的都修改一下链接。这样便可以彻底的使用QT4了。

QT4默认的字体会出现乱码,我们来设置下,打开qtconfig,选“Forts”按照下图来设置,其他不变。

 

打开qdesigner出现我们盼望已久的QT4界面

下面我们来安装调试编译环境,这里就不选KDevelop系列了,以为安装起来比较蛮烦,第一RedHat9自带的QT是3.1.1的,要安装KDevelop3.5(可以调试QT4程序),必须要系统Qt版本>=3.3&&<4.0,我还得把Qt升级到3.3,那还不累死啊,所以这里我就选用比较轻量级的QDevelop0.26的,我之所以说是轻量级的,是因为其“安装”(只需要编译(必须要Qt4.3.x)下,然后使用其执行文件)时间很短。

 

 

http://qdevelop.org/pages/Downloads

下载“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() << "qdevelop-completion-*", QDir::Files);

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() << "qdevelop-completion-*", QDir::Files);

15.              foreach(QString file, list)

16.              {

17.                  QString str = QDir::tempPath()+"/";

18.                  QFile( str + file ).remove();    

19.              }

20.              ........................

21.          }

编译好之后便可以运行使用了。

我们来新建一个工程,先感觉下:

 Develop的缺点就是不能正常显示中文,郁闷,我只好在其他地方写好,然后粘贴过来。

编译、运行:

下面给我们的程序在桌面上按个家:

这样就可以跟在windows下面开发差不多了。增加了开发效率。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cuman/archive/2009/05/12/4174456.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值