Linux下安装QT之版本qt-4.6.3

ARM 84浏览

 Linux中分别安装应用于不同平台的QTPC;嵌入式X86ARM

       这三者PC版、嵌入式X86版和ARM版的区别主要体现在:当configure时分别加了不同的参数,具体区别是: 
        PC平台:linux中全安装qt,用它编译好程序后,直接用“./”就可运行。

       嵌入式X86平台:带有qvfb功能,在PC机上可以模拟应用程序在arm开发板上的运行情况。用此编译好的程序,只用“./”命令不可以运行,必须加上参数
-qvfb -qws;

       ARM平台:编译好的程序,用于在arm平台上运行。 

1.      系统环境    

主机操作系统:ubuntu10.04

主机编译器:gcc4.4.3,

交叉编译器:arm-linux-gcc-4.3.2
    

2软件包:

 

2.1 qt源代码

qt-everywhere-opensource-src-4.6.3.tar.gz

ftp://ftp.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.6.3.tar.gz 

也可以在ftp://ftp.qt.nokia.com/qt/source/下找对应的版本

 

2.2触摸屏校验工具

tslib-1.4.tar.gz

 
下载地址:

  http://ishare.iask.sina.com.cn/f/21567219.html

 

3安装交叉编译器

  详细见:《Arm-linux-gcc-4.3.2安装步骤

http://blog.csdn.net/imxiangzi/article/details/7452931 

 

4安装触摸屏校验工具

 

把tslib-1.4.tar.gz放到一个目录下,比如/opt目录下。接着执行命令如下:

     	#tar zxvf tslib-1.4.tar.gz 

执行命令cd tslib,进入tslib当前目录,接着执行命令如下:

    	#./autogen.sh 

然后接着执行配置命令:

     	#./configure     --prefix=/usr/local/tslib --host=arm-linux ac_cv_func_malloc_0_nonnull=yes 

最后执行编译命令和安装命令如下:

    	1.        make  
    	2.        make install 

如果以上步骤没错,则可以在/usr/local/tslib下出现我们需要的库文件,这些库文件我们移植时会用到。

编译期间出现的错误:./autogen.sh: 4: autoreconf: not found

解决:sudo apt-get install autoconf automake libtool

        http://blog.csdn.net/imxiangzi/article/details/7452982 

 

5.编译Qt-4.6.3库文件 

5.1解压:

把qt-everywhere-opensource-src-4.6.3.tar.gz放到/opt目录下。接着执行命令如下:

	1.        tar zxvf qt-everywhere-opensource-src-4.6.3.tar.gz 

接着把解压出来的目录重名成qt-everywhere-opensource-src-4.6.3文件复制两份,把这三份文件分别重命名为:pcqt-embedded-4.6.3-x86 qt-embedded-4.6.3-arm 

       

5.2编译 PC 版

进入pc目录,执行如下操作:

#./configure

# make

# make install

 

配置configure的时候会提问是使用什么版本,选择开源版本“o”,接受他的协议yes,下面的安装也一样。

“Which edition of Qt do you wantto use?”
       
然后给你两个类型供选择:
        Type'c' if you want to use the Commercial Edition.

        Type'o' if you want to use the Open Source Edition.
        第一个是商业版,第二个是自由版。
       
选择 'o'Qt/嵌入式自由版是Qt为了开发自由软件提供的嵌入式版本)。
       
这时候,出现许可界面。
       
选择  'yes'接受许可协议。
       
开始生成 makefile文件。这个大约需要
5 -10
分钟的时间。 

安装过程比较长,由于VM默认只是一个CPU,可以调整CPU的个数和你实际的机器一致,

Make命令添加-j3参数允许多线程编译,可以加快速度,下面的编译也是一样。编译的时候可以看到占用CPU的百分比100%

编译过程中出现的问题:

A:出错:Basic XLibfunctionality test failed!

       解决方法:sudo apt-get install libx11-dev  libxext-dev libxtst-dev

    http://blog.csdn.net/imxiangzi/article/details/7452990

B:出错:collect2:ld
terminated with signal 11

            解决:加大swap空间

http://blog.csdn.net/imxiangzi/article/details/7453008 

 

5.3编译嵌入式x86

进入x86目录,执行如下操作:

# ./configure  -embedded x86    -qt-gfx-qvfb    -qt-kbd-qvfb   -qt-mouse-qvfb

# make

# make install

安装过程比较长,没有碰到过错误。

编译安装PC版中的 qvfb

进入pc/tools/qvfb/目录,执行如下操作:

#make

编译完毕,将pc/bin目录下的qvfb文件复制到/usr/local/Trolltech/QtEmbedded-4.6.3/bin目录。

 

5.4编译嵌入式arm版(需要 arm-linux-gcc 的支持) 

必须加上“-prefix /usr/local/Trolltech/QtEmbedded-4.6.3-arm ”参数, 不然安装后不在QtEmbedded-4.6.3-arm文件夹下,而是覆盖了QtEmbedded-4.6.3。

# ./configure

-prefix  /usr/local/Trolltech/QtEmbedded-4.6.3-arm  

-opensource

-confirm-license

-release -shared

-embedded arm

-xplatform qws/linux-arm-g++

-depths 16,18,24

-fast

-optimized-qmake

-pch

-qt-sql-sqlite

-qt-libjpeg

-qt-zlib

-qt-libpng

-qt-freetype

-little-endian  -host-little-endian

-no-qt3support  

-no-libtiff   -no-libmng

-no-opengl

-no-mmx  -no-sse  -no-sse2

-no-3dnow

-no-openssl

-no-webkit

-no-qvfb

-no-phonon

-no-nis

-no-opengl

-no-cups

-no-glib

-no-xcursor   -no-xfixes  -no-xrandr   -no-xrender

-no-separate-debug-info

-nomake examples   -nomake  tools   -nomake docs

 

如果放弃配置,则使用命令:# make confclean

编译:# make

安装:# make install

 

安装完成后,在/usr/local/Trolltech目录中有三个文件夹:Qt-4.6.3、QtEmbedded-4.6.3、QtEmbedded-4.6.3-arm。

 

5.5测试qvfb

为了方便使用qvfb模拟ARM的结果,在环境中添加qvfb的路径

1.    输入命令: gedit  /.bashrc编辑.bashrc文件,在文件末尾加入如上面的内容
  export PATH=/usr/local/Trolltech/QtEmbedded-4.6.3/bin:$PATH
 

2.    重启,测试是否加入成功 

echo $PATH看是否显示刚才添加的路径

3.    测试

 
命令:#qvfb -width 800 -height 480 &

其中&表示后台运行。

将会出现界面

                         

表示qvfb启动成功

 ==================================================================== 

主要参考:

   1.QT嵌入式环境搭建与移植 

        http://blog.chinaunix.net/uid-26119896-id-3141782.html

2.Linux下实现Qt 4.6.3移植Ubuntu10.10篇

        http://blog.csdn.net/defonds/article/details/4941746

3.Linux 下编译并安装配置 Qt 全过程

        http://mobile.51cto.com/symbian-273308.htm

 Linux中分别安装应用于不同平台的QTPC;嵌入式X86ARM

       这三者PC版、嵌入式X86版和ARM版的区别主要体现在:当configure时分别加了不同的参数,具体区别是: 
        PC平台:linux中全安装qt,用它编译好程序后,直接用“./”就可运行。

       嵌入式X86平台:带有qvfb功能,在PC机上可以模拟应用程序在arm开发板上的运行情况。用此编译好的程序,只用“./”命令不可以运行,必须加上参数
-qvfb -qws;

       ARM平台:编译好的程序,用于在arm平台上运行。 

1.      系统环境    

主机操作系统:ubuntu10.04

主机编译器:gcc4.4.3,

交叉编译器:arm-linux-gcc-4.3.2
    

2软件包:

 

2.1 qt源代码

qt-everywhere-opensource-src-4.6.3.tar.gz

ftp://ftp.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.6.3.tar.gz 

也可以在ftp://ftp.qt.nokia.com/qt/source/下找对应的版本

 

2.2触摸屏校验工具

tslib-1.4.tar.gz

 
下载地址:

  http://ishare.iask.sina.com.cn/f/21567219.html

 

3安装交叉编译器

  详细见:《Arm-linux-gcc-4.3.2安装步骤

http://blog.csdn.net/imxiangzi/article/details/7452931 

 

4安装触摸屏校验工具

 

把tslib-1.4.tar.gz放到一个目录下,比如/opt目录下。接着执行命令如下:

     	#tar zxvf tslib-1.4.tar.gz 

执行命令cd tslib,进入tslib当前目录,接着执行命令如下:

    	#./autogen.sh 

然后接着执行配置命令:

     	#./configure     --prefix=/usr/local/tslib --host=arm-linux ac_cv_func_malloc_0_nonnull=yes 

最后执行编译命令和安装命令如下:

    	1.        make  
    	2.        make install 

如果以上步骤没错,则可以在/usr/local/tslib下出现我们需要的库文件,这些库文件我们移植时会用到。

编译期间出现的错误:./autogen.sh: 4: autoreconf: not found

解决:sudo apt-get install autoconf automake libtool

        http://blog.csdn.net/imxiangzi/article/details/7452982 

 

5.编译Qt-4.6.3库文件 

5.1解压:

把qt-everywhere-opensource-src-4.6.3.tar.gz放到/opt目录下。接着执行命令如下:

	1.        tar zxvf qt-everywhere-opensource-src-4.6.3.tar.gz 

接着把解压出来的目录重名成qt-everywhere-opensource-src-4.6.3文件复制两份,把这三份文件分别重命名为:pcqt-embedded-4.6.3-x86 qt-embedded-4.6.3-arm 

       

5.2编译 PC 版

进入pc目录,执行如下操作:

#./configure

# make

# make install

 

配置configure的时候会提问是使用什么版本,选择开源版本“o”,接受他的协议yes,下面的安装也一样。

“Which edition of Qt do you wantto use?”
       
然后给你两个类型供选择:
        Type'c' if you want to use the Commercial Edition.

        Type'o' if you want to use the Open Source Edition.
        第一个是商业版,第二个是自由版。
       
选择 'o'Qt/嵌入式自由版是Qt为了开发自由软件提供的嵌入式版本)。
       
这时候,出现许可界面。
       
选择  'yes'接受许可协议。
       
开始生成 makefile文件。这个大约需要
5 -10
分钟的时间。 

安装过程比较长,由于VM默认只是一个CPU,可以调整CPU的个数和你实际的机器一致,

Make命令添加-j3参数允许多线程编译,可以加快速度,下面的编译也是一样。编译的时候可以看到占用CPU的百分比100%

编译过程中出现的问题:

A:出错:Basic XLibfunctionality test failed!

       解决方法:sudo apt-get install libx11-dev  libxext-dev libxtst-dev

    http://blog.csdn.net/imxiangzi/article/details/7452990

B:出错:collect2:ld
terminated with signal 11

            解决:加大swap空间

http://blog.csdn.net/imxiangzi/article/details/7453008 

 

5.3编译嵌入式x86

进入x86目录,执行如下操作:

# ./configure  -embedded x86    -qt-gfx-qvfb    -qt-kbd-qvfb   -qt-mouse-qvfb

# make

# make install

安装过程比较长,没有碰到过错误。

编译安装PC版中的 qvfb

进入pc/tools/qvfb/目录,执行如下操作:

#make

编译完毕,将pc/bin目录下的qvfb文件复制到/usr/local/Trolltech/QtEmbedded-4.6.3/bin目录。

 

5.4编译嵌入式arm版(需要 arm-linux-gcc 的支持) 

必须加上“-prefix /usr/local/Trolltech/QtEmbedded-4.6.3-arm ”参数, 不然安装后不在QtEmbedded-4.6.3-arm文件夹下,而是覆盖了QtEmbedded-4.6.3。

# ./configure

-prefix  /usr/local/Trolltech/QtEmbedded-4.6.3-arm  

-opensource

-confirm-license

-release -shared

-embedded arm

-xplatform qws/linux-arm-g++

-depths 16,18,24

-fast

-optimized-qmake

-pch

-qt-sql-sqlite

-qt-libjpeg

-qt-zlib

-qt-libpng

-qt-freetype

-little-endian  -host-little-endian

-no-qt3support  

-no-libtiff   -no-libmng

-no-opengl

-no-mmx  -no-sse  -no-sse2

-no-3dnow

-no-openssl

-no-webkit

-no-qvfb

-no-phonon

-no-nis

-no-opengl

-no-cups

-no-glib

-no-xcursor   -no-xfixes  -no-xrandr   -no-xrender

-no-separate-debug-info

-nomake examples   -nomake  tools   -nomake docs

 

如果放弃配置,则使用命令:# make confclean

编译:# make

安装:# make install

 

安装完成后,在/usr/local/Trolltech目录中有三个文件夹:Qt-4.6.3、QtEmbedded-4.6.3、QtEmbedded-4.6.3-arm。

 

5.5测试qvfb

为了方便使用qvfb模拟ARM的结果,在环境中添加qvfb的路径

1.    输入命令: gedit  /.bashrc编辑.bashrc文件,在文件末尾加入如上面的内容
  export PATH=/usr/local/Trolltech/QtEmbedded-4.6.3/bin:$PATH
 

2.    重启,测试是否加入成功 

echo $PATH看是否显示刚才添加的路径

3.    测试

 
命令:#qvfb -width 800 -height 480 &

其中&表示后台运行。

将会出现界面

                         

表示qvfb启动成功

 ==================================================================== 

主要参考:

   1.QT嵌入式环境搭建与移植 

        http://blog.chinaunix.net/uid-26119896-id-3141782.html

2.Linux下实现Qt 4.6.3移植Ubuntu10.10篇

        http://blog.csdn.net/defonds/article/details/4941746

3.Linux 下编译并安装配置 Qt 全过程

        http://mobile.51cto.com/symbian-273308.htm