在Linux中分别安装应用于不同平台的QT:PC;嵌入式X86;ARM。

2019-07-13 09:15发布

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(或者是vim ~./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