本文主要介绍linux系统Ubuntu12.04(64bit)下Qt4.8.5的安装,其中还涉及Fedora9下Qt4的安装。
1、下载软件:去Qt的官网下载Qt4.8.5和Qt Creator软件,下载的具体软件如下:
- Qt4.8.5软件:qt-everywhere-opensource-src-4.8.5.tar.gz
- Qt Creator软件:qt-creator-linux-x86_64-opensource-2.5.2.bin
2、解压qt-everywhere-opensource-src-4.8.5.tar.gz,可以解压到当前目录:
sudo tar xvzf qt-everywhere-opensource-src-4.8.5.tar.gz
3、编译配置Qt4.8.5:进入qt-everywhere-opensource-src-4.8.5目录,对其编译配置:
./configure
在Ubuntu12.04(64bit)下配置时会出错,因为纯净版的Ubuntu没有g++,需要先安装:
sudo apt-get install g++
再次编译还会出错,会出现类似下面的错误:
Basic XLib functionality test failed! You might need to modify the include and library search paths by editing QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in /home/gcgily/qt-everywhere-opensource-src-4.8.2/mkspecs/linux-g++
或者
g++ -Wl,-O1 -o xlib xlib.o -L/usr/X11R6/lib -lXext -lX11 -lm /usr/bin/ld: cannot find -lXext
此时,需要安装libX11-dev libXext-dev libXtst-dev这三个包:
sudo apt-get install libX11-dev libXext-dev libXtst-dev
安装完成后再执行./configure即可编译成功。
4、make:执行./configure成功后,会有下一步的提示:执行make和make install(在Fedora9中会提示gmake和gmake install),此时我们执行:
make
等待运行完毕,这会花费很长时间。
5、make install:执行make install命令,此时需要root用户权限支持:
sudo make install
这同样会花费很长时间。
6、设置环境变量:在当前用户.bashrc文件中加入以下脚本:
################### 设置Qt环境变量 ################ export PATH=$PATH:/usr/local/Trolltech/Qt-4.8.5/bin:/usr/local/Trolltech/Qt-4.8.5/includeexport QTDIR=/usr/local/Trolltech/Qt-4.8.5
然后,更新.bashrc文件:
source .bashrc
至此,Qt4.8.5软件安装完毕。
7、安装Qt Creator软件:qt-creator-linux-x86_64-opensource-2.5.2.bin
1)更改qt-creator-linux-x86_64-opensource-2.5.2.bin的操作权限,即增加执行权限:
sudo chmod +x qt-creator-linux-x86_64-opensource-2.5.2.bin
2)运行安装文件:qt-creator-linux-x86_64-opensource-2.5.2.bin
sudo ./qt-creator-linux-x86_64-opensource-2.5.2.bin
8、配置Qt Creator:至此,安装完了Qt4.8.5和Qt Creator软件,还需在Qt Creator中配置Qt的版本,这样才可正常使用。
附:
Qt Creator快捷键:
F1 查看帮助 F2 跳转到函数定义(Ctrl+鼠标左键) Shift+F2 声明和定义之间切换 F4 头文件和源文件之间切换 Ctrl+Space 自动补全 Ctrl+B 编译工程 Ctrl+R 运行工程 Ctrl+I 自动对齐 Ctrl+/ 注释行/取消注释行 Ctrl+Shift+< 折叠代码块 Ctrl+Shift+> 展开代码块 F5 开始调试 Shift+F5 停止调试 F9 设置和取消断点 F10 单步前进 F11 单步进入函数 Shift + F11 单步跳出函数
总结结束,希望对博友们有所帮助,哈哈。。。