现在的位置: 首页 > 综合 > 正文

安装qt-embedded-linux-opensource-src-4.5.3

2017年03月26日 ⁄ 综合 ⁄ 共 5110字 ⁄ 字号 评论关闭

花了一点时间,将arm版本的qt安装好了

主机:Ubuntu12.04  (普通用户下面:$        root用户:#)

目标板:UT--S3C6410开发板

交叉编译器:4.5.1


步骤

 第1步 .tslib编译移植

    编译tslib需要autoconf、automake、libtool包支持,在编译之前先在主机上安装这些包。

    $ sudo apt-get install autoconf

    $ sudo apt-get install automake

    $ sudo apt-get install libtool

    

   1、解压源码

    $ sudo tar -xzvf tslib-1.4.tar.gz

   2、把auto.sh脚本复制到tslib的根目录下(即自己创建  $ touch auto.sh)

   3、进入到tslib目录,运行auto.sh脚本

      auto.sh脚本

#!/bin/sh
 
export PATH=/usr/local/arm/4.5.1/bin:$PATH
export TOOLCHAIN=/usr/local/arm/4.5.1
export TB_CC_PREFIX=arm-linux-
export PKG_CONFIG_PREFIX=$TOOLCHAIN/arm-none-linux-gnueabi
 
./autogen.sh
 
echo "ac_cv_func_malloc_0_nonnull=yes" > arm-linux.cache
 
./configure \
--host=arm-linux \
--cache-file=arm-linux.cache \
--enable-inputapi=no \
PLUGIN_DIR=/usr/local/arm/tslib/plugins \
-prefix=/usr/local/arm/tslib \
-host=arm-linux \
--cache-file=arm-linux.cache \
2>&1 | tee conf_log
make 2>&1 | tee make_log
make install

$ sudo ./auto.sh (注意脚本的权限  如果不可执行 设置 sudo chmod 775  auto.sh)


编译、安装完成之后,就可以在/usr/local/arm/的目录下看到tslib目录,修改tslib目录下etc/tslib.conf的配置文件,把第二行:# module_raw input的注释符号“#”和前面的空格去掉。修改完成之后就可以把tslib整个文件复制到目标板上的/usr/local/arm/的目录下了。

第2步:安装qt-embedded-linux-opensource-src-4.5.3.tar.gz

 

 1.下载Qt源码包 qt-embedded-linux-opensource-src-4.5.3


 2.解压Qt源码包
   $ sudo tar -xvfz qt-embedded-linux-opensource-src-4.5.3

 
 3.修改文件:$  sudo  vim   qt-embedded-linux-opensource-src-4.5.3/mkspecs/qws/linux-arm-g++/qmake.conf
   
   设置交叉编译工具链:
    本项目使用的交叉编译工具是 arm-none-linux-gnueabi-g++
#====================================================================  
# qmake configuration for building with arm-linux-g++
#

include(../../common/g++.conf)
include(../../common/linux.conf)
include(../../common/qws.conf)

# modifications to g++.conf
QMAKE_CC                = /usr/local/arm/4.5.1/bin/arm-none-linux-gnueabi-gcc
QMAKE_CXX               = /usr/local/arm/4.5.1/bin/arm-none-linux-gnueabi-g++
QMAKE_LINK              = /usr/local/arm/4.5.1/bin/arm-none-linux-gnueabi-g++
QMAKE_LINK_SHLIB        = /usr/local/arm/4.5.1/bin/arm-none-linux-gnueabi-g++

# modifications to linux.conf
QMAKE_AR                = /usr/local/arm/4.5.1/bin/arm-none-linux-gnueabi-ar cqs
QMAKE_OBJCOPY           = /usr/local/arm/4.5.1/bin/arm-none-linux-gnueabi-objcopy
QMAKE_STRIP             = /usr/local/arm/4.5.1/bin/arm-none-linux-gnueabi-strip

load(qt_config)
#==================================================================

配置Qt编译选项

 进入Qt解压目录,执行如下命令:

$  sudo ./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.3 -embedded arm -release -shared -fast -no-largefile -qt-sql-sqlite -no-qt3support -no-xmlpatterns -no-mmx -no-3dnow -no-sse -no-sse2
-no-svg -no-webkit -qt-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -make libs -nomake tools -nomake examples -nomake docs -nomake demo -no-nis -no-cups -no-iconv -no-dbus -no-openssl -xplatform qws/linux-arm-g++ -little-endian -qt-freetype -depths
16,18 -qt-gfx-linuxfb -no-gfx-transformed -no-gfx-multiscreen -no-gfx-vnc -no-gfx-qvfb -qt-kbd-usb -no-glib -qt-mouse-tslib -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb -qt-mouse-linuxtp -I
/usr/local/tslib/include -L /usr/local/tslib/lib

上面的代码比较长,复制时小心,该代码用于对QT库的裁剪配置,因为QT库过大,如果完全编译的话,可能最终arm板负载不了,所以需要裁剪。而裁剪的参数没有规定的,你甚至可以不裁剪,但一般情况会把鼠标库,例子,样例代码等去掉。你可以输入./configure  -help来查看各选项的含义,但都是英文的。以上“\”符号表示该行命令没有结束,接着下一行。如果把上述代码复制到终端命令行没有出错,则会出现一个提示选择信息,那是QT安装的版本选择信息,一般选择“O”,意思是开源(opensource),然后继续。

………………………………………..……..…等待一点时间.…..……..……..……..……..………..………..………..………..…

$  sudo make

………………………………………..……..…等待…..……..……..……..………..………..……..……..……..

$ sudo make install

………………………………………..……..…同样等待安装完成………………………………………..…

注:若安装过程中出现问题,可能前两步安装没有到位,返回去检查。若无错误,安装成功,会在目录 /usr/local/Trolltech   /QtEmbedded-4.5.3下看到对应安装好的文件。

toshiba@ubuntu:/usr/local/Trolltech/QtEmbedded-4.5.3/bin$ ls
  moc 
qmake
  rcc 
uic

$ sudo mv  qmake   qmake-arm             //修改qmakeqmake-arm

$ sudo vim  ~/.bashrc              //添加linux当前toshiba用户系统环境变量

在文件末尾加上环境变量

export PATH=/usr/local/Trolltech/QtEmbedded-4.5.3/bin:$PATH

保存关闭,激活一下

$ source ~/.bashrc

测试

$ qmake-ar(按Tab建,会出现qmake-arm表示环境变量设置成功)

注:此步也比较重要,一个linux系统多安装几个QT程序的话,会出现相同的qmake命令,所以为了区分qmake,改名成qmake-arm,而后面添加环境变量是因为以后编译QT应用程序要用到。

可以检查ARM_QT  and PC_QT 版本的区别


toshiba@ubuntu:~$
qmake-arm
-v
QMake version 2.01a
Using Qt version 4.5.3 in /usr/local/Trolltech/QtEmbedded-4.5.3/lib

toshiba@ubuntu:~$
which qmake-arm

/usr/local/Trolltech/QtEmbedded-4.5.3/bin/qmake-arm

toshiba@ubuntu:~$ whereis
qmake-arm    (ARM版QT)

qmake-arm:

toshiba@ubuntu:~$ qmake
-v

QMake version 2.01a
Using Qt version 4.8.1 in /usr/lib/i386-linux-gnu

toshiba@ubuntu:~$
whereis
qmake           (PC版QT)
qmake: /usr/bin/qmake /usr/bin/X11/qmake /opt/qt-4.8.3-x11/bin/qmake /usr/share/man/man1/qmake.1.gz

创建hello目录 ,进入目录里编写一个简单的测试程序,文件名为hello.cpp,在该文件目录下,进行工程编译,看是否能正确通编译
  
         hello.cpp源码:

         #include <QApplication>
         #include <QDebug>
         int main(int argc,  char **argv) 
        {
            qDebug("Hello, welcome to Qt world!");
            return 0;
         }
  
  顺序执行以下操作:
  1. 执行:qmake-arm  -project  hello.cpp
             生成 hello.pro 工程文件
  2. 执行:qmake-arm  hello.pro
              生成 Makefile 文件    (可以打开查看一下)
  3. 执行:make
           生成 hello.o  hello 文件

最后再查看可执行文件 hello 属性(X86-PC机下面运行./hello 会产生错误)

toshiba@ubuntu:~/hello$
file
hello


hello: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.27, not stripped

……………………………………………………………………………………………………………………………………………………...

自此,要安装的程序已经安装完毕,接下来其他一些修改设置操作

请参考   http://blog.csdn.net/zjg555543/article/details/7755714


 

抱歉!评论已关闭.