分类: LINUX
2011-10-29 20:39:18
说明:本文共分两部分,可以在阅读完该部分后点击文章后的链接进入下一部分。这个教程包含了对linux下桌面版本的Qt及Qt Creator的安装和ARM开发板上的Qt的安装过程,如果大家已经安装了桌面版本的Qt,可以跳过前面的这些内容。
一、安装g++,ubuntu默认是不带g++的,如果不安装的话,后面是无法进行桌面版的qt应用程序进行编译的,在终端中执行以下命令:
sudo apt-get install g++
二、安装arm-linux-gcc 3.3.2
我们使用的是优龙公司提供的arm-linux-gcc 3.3.2交叉编译工具链
(注:这里推荐使用友善之臂的4.4.3版本工具链,当然,这样的话你需要保证你板子上的环境也是最新的,不然编译出来的程序可能无法运行。
4.4.3工具链可以到友善之臂官网下载,也可以下载我们上传到的。)
(1)在/usr/local目录下arm目录,用于存放解压后的交叉编译工具链
sise@sise:~/sisefile/crosschain$ cd /usr/local/
sise@sise:/usr/local$ sudo mkdir arm
(2)解压交叉编译工具链
sise@sise:~$ cd sisefile/crosschain/
sise@sise:~/sisefile/crosschain$ sudo tar -jxvf cross-3.3.2.tar.bz2 -C /usr/local/arm
(3)查看目录
sise@sise:~/sisefile/crosschain$ cd /usr/local/arm/3.3.2/
sise@sise:/usr/local/arm/3.3.2$ ls
(4)添加交叉编译工具链环境变量
X方法一:
建立环境变量设置脚本:
sise@sise:/usr/local/arm/3.3.2$ sudo gedit arm-linux-gcc-3.3.2-env.sh
添加以下内容:
# add my crosschain(arm-linux-gcc-3.3.2) path
export PATH=/usr/local/arm/3.3.2/bin$:PATH
使用arm-linux-gcc 3.3.2时,可以进入存放arm-linux-gcc-3.3.2-env.sh的目录,在终端执行以下命令:
source arm-linux-gcc-3.3.2-env.sh
这样就能使arm-linux-gcc-3.3.2-env.sh生效
方法二:
修改profile文件:
sise@sise:/usr/local/arm/3.3.2$ sudo gedit /etc/profile
添加以下内容:
# add arm-linux-gcc 3.3.2 crosschain path
export PATH=/usr/local/arm/3.3.2/bin:$PATH
三、安装桌面版QT
(1)为QT增加可执行属性
sise@sise:/usr/local/arm/3.3.2$ cd /home/sise/sisefile/qt4/
sise@sise:~/sisefile/qt4$ sudo chmod +x qt-sdk-linux-x86-opensource-2010.04.bin
(2)执行qt的二进制文件:
sise@sise:~/sisefile/qt4$ ./qt-sdk-linux-x86-opensource-2010.04.bin
安装QT的过程:
我修改了安装目录,具体目录如下:
这里一步要注意了,这里有提示说如果我们要使用qt,需要安装以下的文件:
提示内容:
Apart from a C++ compiler, a number of development libraries need to be present to enable Qt Creator to build your Qt applications. On Debian and Ubuntu, use the following command in a terminal to make sure they are installed:
sudo apt-get install libglib2.0-dev libSM-dev libxrender-dev libfontconfig1-dev libxext-dev
If you’re using QtOpenGL, you’ll also need OpenGL development files. You can use the following command to find out which packages to install:
sudo apt-get install libgl-dev libglu-dev
(3)安装libgl-dev libglu-dev包:
sise@sise:~/sisefile/qt4$ sudo apt-get install libglib2.0-dev libSM-dev libxrender-dev libfontconfig1-dev libxext-dev
(4)安装libgl-dev libglu-dev包:
sise@sise:/usr/local/arm/3.3.2$ sudo apt-get install libgl-dev libglu-dev
提示没有libgl-dev包
(5)安装libgl1-mesa-dev libglu-dev包:
sise@sise:/usr/local/arm/3.3.2$ sudo apt-get install libgl1-mesa-dev libglu-dev
至此桌面版的QT就安装完成了
(6)添加环境变量
添加在qcreator中环境变量(其实这一步时不需要的,因为在qt安装完成后,不需要再设置环境变量的)
找到qmake
(7)建立一个helloword工程测试:
选择qt的版本
向工程中添加一个c++文件:
在main.cpp文件中添加以下代码:
#include
#include
int main(int argc,char* argv[])
{
QApplication app(argc,argv);
QLabel* label = new QLabel(“hello world”);
label->show();
return app.exec();
}
编译
出现以下的窗口,证明我们已经完成了qt的安装:
(8)编译qvfb
qvfb是个X11模式下的qte的模拟器,没有开发板的同学可以利用qvfb来仿真qte的程序。
在安装qt的文件夹中已经包含了qvfb的工程,我们需要的是对它进行编译:
打开qvfb.pro,然后编译,出现了一下错误:
这是由于缺少了deviceskin.h和deviceskin.cpp文件,在安装qt的文件夹中同样存在这两个文件
将这两个文件复制到qvfb工程目录中
重新打开工程,编译,出现以下错误:
这是由于缺少png库,安装png库:
sise@sise:~$ sudo apt-get install libpng-dev
继续编译,又出现以下错误:
这是由于系统缺少glui和xorg库,安装glui和xorg库:
sise@sise:~$ sudo apt-get install libglui-dev
sise@sise:~$ sudo apt-get install xorg-dev
重新编译qvfb工程,出现以下窗口,这时终于成功了!
生成的文件在qt/bin目录下:
设置qvfb的环境变量:
# add qt4.6.3 for x86 path
export PATH=/home/sise/siseapp/qtsdk-2010.04/qt/bin:$PATH