1, 下载开源包
在ubuntu里打开默认浏览器输入下载地址
下载地址为:ftp:///qt/source/ 回车如下图所示,好多安装包啊,找哪个呢?
在页面上ctrl+f快速定位安装包,如下图:
Qt-x11-opensource-src-4.5.
好了,下载完毕,开始我们的安装之旅吧!!!
提示:你知道下载的文件包被放在哪里了么?
答:安装包下载后默认放在了 /home/xq-y/下载/ 文件夹下。如下图所示:
上面是鼠标查看安装包的位置,现在我用命令行来查看安装包
都知道上面的命令是上面意思吧?
如果你不知道!!!就尽快补补,,,
2,开始我们的安装之旅!!
①,把下载好的文件解压到 /usr/local/ 文件目录下,如下图所示!!
②,确定你的机器安装了g++,如果没安装,请执行下面的命令进行安装(g++编译源码)
Sudo apt-get install g++
③,继续安装libX11-dev和libXext-dev和libXtst-dev(不懂这个是什么请百度或者google),执行如下命令进行安装:
sudo apt-get install libX11-dev libXext-dev libXtst-dev
如果在安装的过程中遇到如下错误
请按照提示执行: sudo apt-get update install libX11-dev libXext-dev libXtst-dev。。
如果你不装XLib库,在编译X11平台时会接收到如下错误提示:
Basic XLib functionality test failed!
You might need to modify the include and library arch paths by editin
④,进入我们刚才解压在/usr/local/下面的qt4.5.3开源包,
如下图所示:
然后运行configure,命令如下:interest的用法
在整个的编译过程中,configure这一步很关键。configure的作用有两个,一是生成平台相关的qmake;二是配置Qt的Feature,比如源文件放在哪里,库在哪里,是否支持OpenGL等等。
spellbound
要查看configure的配置选项列表,可以运行./configure -help命令。
如果configure失败,可以以使用-v选项查看具体的原因,命令是./configure -v
victor an如果以后需要在这次配置的基础上更改选项,先要运行make confclean或者make clean命令以清除之前的配置。
⑤,执行make,时间比较长,大约2小时。
这一步是根据configure时由qmake生成的makefile来编译QT库。只要前面配置好了,一般
不会出什么问题。
这样将会生成Qt库,同时也会编译所有的演示程序、示例程序和工具软件。在某些系统中,make命令称为gmake。
⑥,安装QT
输入指令 make install 安装QT,如果权限不够前面加个sudo(ubuntu下),这样就可以把Qt安装到/usr/local/Trolltech/Qt-4.5.3目录中。如果要改变安装路径,那么可以在configure命令的后面使用-prefix选项来做到这一点。
3,环境变量的设置
①,如图:
打开.bashrc,在最后添加下图所示内容(这里要用到vi命令,如不会请补一下vi操作命令):
输入 :wq 回车保存退出!再在终端下输入下图所示命令使我们刚设置的环境变量生效:
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓本人是在ubuntu下安装的,如果你是ubuntu按照我的步骤即可,下面作为补充内容,大家↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓随便看看吧↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓如果使用的shell是bash、ksh、zsh或者sh,那么请把以下两行代码添加到.profile忧心忡忡是什么意思中:
PATH=/usr/local/Trolltech/Qt-4.5.2/bin:$PATH
export PATH
如果使用的shell是csh或者tcsh,那么请把下面一行代码添加到.login文件中:
tenv PATH /usr/local/Trolltech/Qt-4.5.2/bin:$PATH
如果使用了configure的-prefix选项,那么请使用你自己指定的路径来代替这里给出的默认路径。
如果你正在使用的编译器不支持rpath命令,那么还必须扩展LD_LIBRARY_PATH环境变量,使其包含/usr/local/Trolltech/Qt-4.5.3/lib。对于带有GCC的kangLinux用户来讲,则没有必要执行这一步
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
4,安装还没结束!!!!!稍等,还没安装Qt4的开发包,开发个鸟啊!!!
继续执行下面图中的命令!!
5,验证安装
在命令行输入:qmake –v 回车
假设QT输出下面的信息:
/////////////////////////////////////////
Qmake version: 1.07a (Qt 3.3.8) //我们安装的是4.5.3,但是确是3.3.8,没安装成功
Qmake is free software from Trolltech ASA.
//上面输出的2行信息表示你的qmake链接指向Qt3.3.8的版本而不是Qt4.5,你需要检查你的安装是否成功,以及环境变量是否配置正确。
//////////////////////////////////////////
如果你看到如下的信息,则表示你的Qt 4.5配置成功了。
图中的版本就是我们安装的QT,耶!!!!!!!!!
/////////////////////////////////////////////
5,删除源码和配置文件,这一步是可选的
运行make clean命令后,可以删除掉本次安装时的源码和配置文件,这样可以节省空间。以安装Qt4.5版为例,如果采用configure -static -relea的参数编译,执行make clean后,大约可以节省500 Mb的空间。
(进入你运行make的那个文件夹运行make clean)
如果你想以后在不改变原来配置的基础上,多编译一些内容,比如数据库驱动的话,就不
要执行这个命令了。
/////////////////////////////////////////////////////////////////////////////////////////////////////////
下面附上本人在安装过程中遇到的挫折以及解决办法!
一,
编译一个很简单的测试程序,源码如下:
每当编译运行的时候都会产生下面的错误
(编译过程是①qmake –project②qmake Hello.pro③make)
这时候怎么办?
答:
①,
②,
③,现在错误就只剩下权限不够了,如下所示:
④,我们来sudo make 就可以执行makefile文件了when christmas comes
⑤, ./Hello 就得到了如图所示的小对话框
////////////////////////////////////解决方法很重要!!!!
(解决办法参考:/bbs/thread-179567-1-1.html
我把这个地上的内容附在文章最后面)
分析,提示说在usr/include/qt4/QtCore里找不到文件QtGui/QApplication,可能的原因是:
,未安装libqt4-dev QT4开发包
,装了,但是调用了QT3的qmake。
用dpkg –L qt4-qmake | grep qmake | grep bin可以找到QT4 make的路径,然后执行 /usr/bin/qmake-qt4 或者 /usr/share/qt4/bin/qmake 即可执行QT4的qmake。
(不懂spkg命令自己查百度)
二,如何切换到root用户?
答:
(提示: 如果你是新安装的ubuntu,无法使用图中的命令来切换,那就跟着我来做这一步。
解释:Ubuntuexceptionally安装后,root用户默认是被锁定了的,不允许登录,也不允许 su 到 root ,对于桌面用户来说这个可能是为了增强安全性。
三,使设置的环境变量生效?
答:下图所示
四,this指向哪?
答:This是一个时时刻刻指向这个类实例对象的本身的指针。
五,如何在命令行下重启linux操作系统
答: reboot.
六,linux里查看环境变量的指令是?
答:灯笼英语env
七,restart的用法?
答:restartkrait用于单个服务的重新启动,放在命令尾部,确切的说,是个参数,如:
rvice network restart
八,vi中的复制命令是?
答::1,5y 回车 是复制1-5行
在命令模式下输入p直接在光标处开始粘贴 剪贴板中的内容
九,Permission denied 是什么意思?如何解决?
答:权限不够,用sudo或者切换的root用户下。
十,vi命令中追加内容的指令是?重写覆盖命令是?
答:如下图所示
重写覆盖是 :1,9w!& ,一个>号
十一,看懂下面的图文介绍!!(这个很简单吧)
十二,下面的错误是由什么产生的?
原因如下,丢了个/(斜杠)
十三,在执行./configure时如果提示“没什么可做的’first’”怎么办?
答:ke clean 清楚之前编译的文件
十四:
Export 输出 出口 导出
Export QTDIR=/usr/local/Trolltech/Qt-4.5.3
十五:为什么类的静态函数只能方位static?
答:因为static声明的方法是静态方法,在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可访问非john denverstatic的成员。
十六,什么情况下声明为静态数据成员?
答:如果某些成员函数只访问静态数据成员,那么最好把他们声明为静态的成员函数,因为这样不需要特定的对象就可以访问这些成员变量了。(用类名也可以访问)