Chinaunix首页 | 论坛 | 博客
  • 博客访问: 698949
  • 博文数量: 152
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1793
  • 用 户 组: 普通用户
  • 注册时间: 2013-09-12 12:26
个人简介

相信自己,只有不想做的,没有做不到的。

文章分类

全部博文(152)

文章存档

2021年(1)

2015年(2)

2014年(74)

2013年(75)

分类: LINUX

2013-09-26 12:46:00

环境:

ubuntu12.04-64bit

arm-linux-gcc    4.3.2

A10    》linux-3.0.8


二.交叉编译ARM版Qt
 1.下载Qt源码包 qt-everywhere-opensource-src-4.7.3.tar.gz;
 
 2.解压Qt源码包
   tar -xvfz qt-everywhere-opensource-src-4.7.3.tar.gz
 
 3.修改文件: /usr/local/qt-4.7.3-linux-arm/mkspecs/qws/linux-arm-g++/qmake.conf
   
   # 设置交叉编译工具链:
   # 本项目使用的交叉编译工具是 arm-none-linux-gnueabi-g++
   #
   QMAKE_CC                         = arm-none-linux-gnueabi-gcc
   QMAKE_CXX                      = arm-none-linux-gnueabi-g++
   QMAKE_LINK                      = arm-none-linux-gnueabi-g++
   QMAKE_LINK_SHLIB        = arm-none-linux-gnueabi-g++ 
   
   QMAKE_AR                   = arm-none-linux-gnueabi-ar cqs
   QMAKE_OBJCOPY      = arm-none-linux-gnueabi-objcopy
   QMAKE_STRIP             = arm-none-linux-gnueabi-strip
   
 4.(如有需要,需修改g++.conf文件)
   修改文件: /usr/local/qt-4.7.3-linux-arm/mkspecs/common/g++.conf
 
   # 设置使用ARM高级特性的编译标志:
   #
   QMAKE_CFLAGS_RELEASE += -O2 -march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp
 
 5.配置Qt编译选项
   
   进入Qt解压目录,执行如下命令:
   ./configure -prefix /usr/local/qt-4.7.3-linux-arm-install -embedded arm -host-little-endian -no-cups -no-3dnow -nomake examples -nomake demos -nomake docs -xplatform /qws/linux-arm-g++
   
 6.执行 make 命令;
   该步骤大致需要2~3个小时
 
 7.执行 make install 命令;
   
 8.修改用户环境变量  
   export ARMQTDIR=/usr/local/qt-4.7.3-linux-arm-install
   export PATH=$ARMQTDIR/bin:$PATH
   export MANPATH=$ARMQTDIR/man:$MANPATH
   export LD_LIBRARY_PATH=$ARMQTDIR/lib:$LD_LIBRARY_PATH


 9.测试 ARM 版 QT 是否安装并配置成功:
    a. 执行:qmake -v
        打印以下对应信息:
                QMake version 2.01a
                Using Qt version 4.7.3 in /usr/local/qt-4.7.3-linux-arm-install/lib
    b. 执行:which qmake
                打印以下对应信息:
                 /usr/local/qt-4.7.3-linux-arm-install/bin/qmake
 
    c. 编写一个简单的测试程序,文件名为hello.cpp,进入该文件目录,进行工程编译,看是否能正确通编译
  
         hello.cpp源码:
         #include
         #include
         int main(int argc,char *argv[]) 
        {
            qDebug("Hello, welcome to Qt world!");
            return 0;
         }
  
  顺序执行以下操作:
  @1. 执行:qmake -project hello1.cpp
        生成 hello1.pro 工程文件
  @2. 执行:qmake hello1.pro
        生成 Makefile 文件 
  @3. 执行:make
        生成 hello.o, hello 文件 
  
       如果执行@2步骤时出现以下错误:
           QMAKESPEC has not been set, so configuration cannot be deduced.
           Error processing project file: hello1.pro
       则是 QMAKESPEC 变量没有设置好,执行:
      export QMAKESPEC=/usr/local/qt-4.7.3-linux-arm-install/mkspecs/qws/linux-arm-g++
  
    如果以上对应的信息都能正确打印,说明 ARM 版 QT 安装并配置成功,大功告成,可以你的ARM版QT之旅了!
 
友情提示:
       在以上所有过程中,请务必注意相关路径,及环境变量的配置,另外,请根据自己的路径对相应部分做修改。
n>Took 1 samples...  

  • Top right : X =  269 Y =  186  
  • Took 2 samples...  
  • Bot right : X =  760 Y =  141  
  • Took 2 samples...  
  • Bot left : X =  749 Y =  876  
  • Took 3 samples...  
  • Center : X =  518 Y =  516  
  • 528.934204 -0.023497 -0.534203  
  • -48.736877 0.358485 -0.000051  
  • Calibration constants: 34664232 -1539 -35009 -3194020 23493 -3 65536   
  • [root@StevenKing /lib]# qt_test   
  • Hello, welcome to Qt world!  

  • 补充:

    qt4.5.3不能显示中文字体,无论是qvfb中还是arm系统中,后来在网上查了一些方法

    终于弄好了
    1,下载文泉驿正黑字体qpf字体库

    在可以找到下载
    2,把下载好的字体库解压后的qpf文件放入lib/fonts中(qtX86和arm版本以及移植的文件系统中都放入此子体)
    编译运行的时候:在qtcreator中在Run Settings——〉Edit run configuration:右侧单击Show Details按钮,在打开的下拉列表中Arguments:文本框中添加参数“-qws -font wenquanyi”。
    或者在终端中运行:例如:./hello -qws -font wenquanyi
    这样就可以显示中文了


    如果不想输入后面的参数可以把lib/fonts中的其他字体全部删除,只保留泉驿正黑字体的qpf字体库。这样只需要运行./hello -qws 即可 不过这样以来就用不了其他字体了。

    提示:在终端中运行程序时其后加上& 就不会独占终端了,可以在终端运行多个程序
    如:./hello &


    阅读(1492) | 评论(0) | 转发(0) |
    给主人留下些什么吧!~~