这两天很郁闷,为了搭建QT开发环境,还真的折腾不小呀!现在分享一下,QT开发环境的搭建,我这里是用安装VMware Tools工具把qt和Qdevelop安装包共享进去的。很简单,共享的方式有很多种:有samba,ftp,ssh等等。
先了解什么是QT?
QT是一个跨平台的C++图形用户界面的应用程序框架。它提供给应用程序开发者建立艺术级的图形界面所需的所用功能。QT是完全面向对象的,很容易扩展,并允许真正地组建编程。自1996年早些时候,QT进入商业领域。QT支持下述平台:
MS/Windows - 95
、98、NT 4.0、ME、2000、XP 和 Vista
Unix/X11 - Linux
、Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX
SGI IRIX和其它很多X11平台
Macintosh - Mac OS X
Embedded - 有帧缓冲(framebuffer)支持的Linux平台,Windows CE。
Symbian/S60 - 目前已经可以提供技术预览版本
Qdevelop
qdevelop是一个跨平台集成开发环境,完全致力于qt4的开发 。它由一个Qt项目管理器,源代码编辑器,和通过调用make、gdb命令实现的自动构建工具组成。qdevelop的目的是易于使用,不会尝试与更完整的开发工具竞争,如kdevelop 。它的目标是简单,强大,以及实现不同平台上接口的统一。
不多说了,现在开始动手吧!
[root@localhost root]# cd /mnt/hgfs/linux/
//切换到共享目录
[root@localhost linux]# ls
//查看当前linux下目录文件
[root@localhost linux]# tar -zxvf qt-x11-opensource-src-4.4.0.tar.gz -C /usr/local
//解压qt-x11-opensource-src-4.4.0.tar.gz压缩包到指定的/usr/local目录下
[root@localhost linux]# cd /usr/local/
//切换到指定/usr/local目录查看是否解压QT目录
[root@localhost local]# ls
//显示当前目录下的文件信息
[root@localhost local]# mv qt-x11-opensource-src-4.4.0/ Qt-x11
//为自己设置一个QT名,可以用mv修改目录名
[root@localhost local]# cd Qt-x11/
//切换到Qt-x11目录
[root@localhost Qt-x11]# ls
//查看目录下文件
解决方法:
[root@localhost Qt-x11]# ln -s /usr/kerberos/include/com_err.h /usr/include/com_rr.h
[root@localhost Qt-x11]# ln -s /usr/kerberos/include/profile.h /usr/include/profile.h
[root@localhost Qt-x11]# ln -s /usr/kerberos/include/krb5.h /usr/include/krb5.h
[root@localhost Qt-x11]# vi +98 src/gui/text/qfontengine_ft.cpp
//编辑src/gui/text/qfontengine_ft.cpp文件,跳到98行,qt-x11-opensource-src-4.4.3.tar.bz2不同软件包遇到的问题都不一样,它是将目录的qtiffhandler.cpp文件下的TIFFReadRGBAImageOriented(tiff, width, height, reinterpret_cast(tiffImage.bits()), ORIENTATION_TOPLEFT, 0)) 修改为TIFFReadRGBAImage (tiff, width, height, reinterpret_cast(tiffImage.bits()),0)) ,应为redhat没有那个函数,其他的就不用改了。
[root@localhost Qt-x11]# ./configure -no-openssl
//configure命令的作用是检查编译源代码所需的头文件和库文件是否存在,设置安装目录prefix参数后跟的就是安装路径,如果没有指定默认当前目录为安装目录,并最终生成Makefile文件。加-no-openssl参数,将ssl屏蔽掉
Do you accept the terms of either license? yes
//
询问你是否接受许可条款,输入
yes
,然后回车就行了。
[root@localhost Qt-x11]#gmake
//
因为执行
./configure
生成了
Makefile
文件,可以执行
gmake
命令对源代码进行编译
[root@localhost Qt-x11]# gmake install
//
编译完后,执行
gmake install
,完成软件安装
[root@localhost Qt-x11]# pwd
//
显示当前绝对路径
[root@localhost Qt-x11]# vi + /etc/profile
//
打开编辑
/etc/profile
文件并跳到文件的末尾,配置
QT
环境变量
PATH=/usr/local/Qt-x11/bin:$PATH
//
指定普通的命令目录
QTDIR=/usr/local/Qt-x11/
//
定义
QT
的安装目录
MANPATH=$QTDIR/man:$MANPATH
//
定义
man
命令的目录
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
//
定义连接库函数路径
export PATH QTDIR MANPATH LD_LIBRARY_PATH
//
显示所有的目录
[root@localhost Qt-x11]# source /etc/profile
//
重新加载
/etc/profile
目录的配置文件
,
使配置信息生效
[root@localhost Qt-x11]# ls -ld /usr/bin/designer
//
查看
/usr/bin
普通的命令中
designer
命令显示信息
[root@localhost Qt-x11]# ls -ld /usr/bin/qmake
//
查看
qmake
命令的详细信息
[root@localhost Qt-x11]# rm -rf /usr/bin/designer
//
删除
/usr/bin/designer
命令
[root@localhost Qt-x11]# rm -rf /usr/bin/qmake
//
删除
/usr/bin/qmake
命令
[root@localhost Qt-x11]# ln -s /usr/local/Qt-x11/bin/designer /usr/bin/designer
//
新建一个软连接到
/usr/bin/designer
,用到
designer
设计器是转连接到
/usr/local/Qt-x11/bin
目录下的
designer
设计器
[root@localhost Qt-x11]# ln -s /usr/local/Qt-x11/bin/qmake /usr/bin/qmake
//
新建一个软连接到
/usr/bin/qmake
,用到
qmake
编译器是转连接到
/usr/local/Qt-x11/bin
目录下的
qmake
编译器
[root@localhost Qt-x11]# cd /mnt/hgfs/linux/
//
切换到
/mnt/hgfs/linux/
目录
[root@localhost linux]# ls
//
显示当前目录下的文件
[root@localhost linux]# tar -zxvf qdevelop-0.27.4.tar.gz -C /usr/local/
//
解压
qdevelop-0.27.4.tar.gz
软件包到
/usr/local
目录下
[root@localhost linux]# cd /usr/local
//
切换到
/usr/local
目录
[root@localhost local]# ls
//
显示当前目录下的文件
[root@localhost local]# mv qdevelop-0.27.4/ Qdevelop
//
将解压的
qdevelop-0.27.4/
的文件夹改名为
Qdevelop
[root@localhost local]# ls
//
显示当前目录下的文件
[root@localhost local]# cd Qdevelop/
//
切换到
Qdevelop
目录
[root@localhost Qdevelop]# ls
//
显示当前目录下的文件
[root@localhost Qdevelop]# qmake QDevelop.pro
//
执行
qmake QDevelop.pro
与平台无关的项目文件
QDevelop.pro
生成一个与平台相关的
makefile
文件
[root@localhost Qdevelop]# make
//
执行
make
编译源程序代码
src/InitCompletion.cpp: In destructor `virtual
InitCompletion::~InitCompletion()':
src/InitCompletion.cpp:52: parse error before `+' token
src/InitCompletion.cpp:53: confused by earlier errors, bailing out
make: *** [build/o/unix/InitCompletion.o] Error 1
[root@localhost Qdevelop]# find ./ -name InitCompletion.cpp
./src/InitCompletion.cpp
[root@localhost Qdevelop]# vi +52 src/InitCompletion.cpp
{
QFile( QDir::tempPath()+"/"+file ).remove();
}
解决方法:
foreach(QString file, list)
{
QString str = QDir::tempPath()+"/";
QFile( str +file ).remove();
}
[root@localhost Qdevelop]# make
make: warning: Clock skew detected. Your build may be incomplete.
[root@localhost bin]# ls
Qdevelop
//
电脑时钟不正确,设置一下。
[root@localhost bin]# vi /etc/profile
将
PATH=/usr/local/Qt-x11/bin:$PATH
修改为:
PATH=/usr/local/Qt-x11/bin:/usr/local/Qdevelop/bin:$PATH
[root@localhost bin]# source /etc/profile
//重新加载文件
还没未完,待续。。。