qt应用错误2:关于qmake,关于环境变量

 

平台:fodera9.0(完全安装)
qt 版本 qt-x11-opensource-4.5.3
今天我在编译第一个qt程序hello word 出现了下面的错误。
先进入QT压缩包解压出来的文件里
源代码如下
#mkdir  hello
#vi    hello.cpp
#include   
#include
 int main(int argc, char *argv[]) 
      { 
           QApplication app(argc,argv); 
           QPushButton b("Hello World !"); 
              b.show(); 
              QObject::connect(&b,SIGNAL(clicked()),&app,SLOT(quit())); 
               return app.exec(); 
        }
接着
#qmake -project
#qmake 
产生错误
/home/qt-x11-opensource-src-4.5.3/.qmake.cache:2: Unknown replace function: quote
/home/qt-x11-opensource-src-4.5.3/.qmake.cache:3: Unknown replace function: quote
Failure to read QMAKESPEC conf file /mkspecs/linux-g++/qmake.conf.
Error processing project file: /home/qt-x11-opensource-src-4.5.3/examples/hello/hello.pro
在网上查了很多网页,中文的外文的。
总之最后确定是环境变量的问题,是我安装的qt-4.5.3的环境变量并没有设置正确。
那么怎么才算设计正确呢,在终端下运行 export 查看环境变量,发现(红字部分)
[root@localhost ~]# export
declare -x CCACHE_DIR="/var/cache/ccache"
declare -x CCACHE_UMASK="002"
declare -x CVS_RSH="ssh"
declare -x DISPLAY=":0.0"
declare -x G_BROKEN_FILENAMES="1"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="localhost.localdomain"
declare -x INPUTRC="/etc/inputrc"
declare -x KDEDIRS="/usr"
declare -x KDE_IS_PRELINKED="1"
declare -x LANG="en_US.UTF-8"
declare -x LESSOPEN="|/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
declare -x LS_COLORS="no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:do=00;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=00;32:*.cmd=00;32:*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:*.tar=00;31:*.tgz=00;31:*.svgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.dz=00;31:*.gz=00;31:*.bz2=00;31:*.tbz2=00;31:*.bz=00;31:*.tz=00;31:*.deb=00;31:*.rpm=00;31:*.jar=00;31:*.rar=00;31:*.ace=00;31:*.zoo=00;31:*.cpio=00;31:*.7z=00;31:*.rz=00;31:*.jpg=00;35:*.jpeg=00;35:*.gif=00;35:*.bmp=00;35:*.pbm=00;35:*.pgm=00;35:*.ppm=00;35:*.tga=00;35:*.xbm=00;35:*.xpm=00;35:*.tif=00;35:*.tiff=00;35:*.png=00;35:*.mng=00;35:*.pcx=00;35:*.mov=00;35:*.mpg=00;35:*.mpeg=00;35:*.m2v=00;35:*.mkv=00;35:*.ogm=00;35:*.mp4=00;35:*.m4v=00;35:*.mp4v=00;35:*.vob=00;35:*.qt=00;35:*.nuv=00;35:*.wmv=00;35:*.asf=00;35:*.rm=00;35:*.rmvb=00;35:*.flc=00;35:*.avi=00;35:*.fli=00;35:*.gl=00;35:*.dl=00;35:*.xcf=00;35:*.xwd=00;35:*.yuv=00;35:*.svg=00;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:"
declare -x MAIL="/var/spool/mail/root"
declare -x OLDPWD
declare -x PATH="/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/home/4.3.2/bin:/usr/local/Trolltech/Qt-4.5.3/bin:/usr/local/Trolltech/Qt-4.5.3/mkspecs:/root/bin"
declare -x PWD="/root"
declare -x QTDIR="/usr/local/Trolltech/Qt-4.5.3/"
declare -x QTINC="/usr/lib/qt-3.3/include"
declare -x QTLIB="/usr/lib/qt-3.3/lib"
declare -x QT_PLUGIN_PATH="/usr/lib/kde4/plugins"
declare -x SDL_AUDIODRIVER="esd"
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_ASKPASS="/usr/libexec/openssh/gnome-ssh-askpass"
declare -x TERM="xterm"
declare -x USER="root"
该环境变量指向的并不是我安装的qt而是我在安装虚拟机的时候系统盘自己带的(记得我前面写的平台是完全安装的),
完全安装的固然有好处因为这样在你进行QT的 configure         gmake时不会发生库缺失导致的错误,但是却会使你的环境变量被修改
指向这个版本的QT。
如何解决呢当然是修改环境变量了
这里只说一种临时修改的方法,在虚拟机里只要不power off掉就会一直有效
因为永久修改的话,只要有点错误,系统就可能崩溃,从而启动不了,还是有一定风险的。
需要修改的其实就是红字部分,只要把它改成你的qt的安装目录就可以了。
[root@localhost ~]# export QTDIR=/usr/local/Trolltech/Qt-4.5.3/
[root@localhost ~]# export QTINC=/usr/local/Trolltech/Qt-4.5.3/include/
[root@localhost ~]# export QTLIB=/usr/local/Trolltech/Qt-4.5.3/lib
[root@localhost ~]# export QTINC=/usr/local/Trolltech/Qt-4.5.3/include
export PATH=:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/home/4.3.2/bin:/usr/local/Trolltech/Qt-4.5.3/bin:/usr/local/Trolltech/Qt-4.5.3/mkspecs:/root/bin

永久的方法就是:把我上面打的命令,全部复制到/etc/profile 中


这里需要指出一些环境变量的知识,就是在
PATH后面有很多个路径,它是按照第一路径第二路径。。。。。。排布的,所以原来的
PATH第一路径是qt-3.3那么我后面声明的qt-4,.5.3就没有用了,所以也更改了这个

你可能感兴趣的:(qt应用错误2:关于qmake,关于环境变量)