QT 5.7.0 交叉编译记录

  • 这一篇记录 Qt 5.x cross-compiler with eglfs , 平台是 TI-AM3354, 上一篇SGX的移植就是为了这一次的交叉编译。

  • 一、 下载QT的源码:

    地址: http://download.qt.io/official_releases/qt/5.7/5.7.0/single/
  • 二、 解压并配置

    //  定义一个配置脚本
    //  vim  ti_qtcon.sh
    #!/bin/sh                                                                       
                                                                                
    ./configure -v -opensource -confirm-license -no-pch \                           
        -prefix /home/sbc_7109_454_pdk3/qt_5.7/qtlib \                              
        -release  \                                                                 
        -opengl es2 -make libs -device linux-beagleboard-g++ \                      
        -device-option  CROSS_COMPILE=/home/sbc_7109_454_pdk3/ti_sdk/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf- \
        -sysroot /home/sbc_7109_454_pdk3/ti_sdk/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi \
        -linuxfb    \                                                               
        -eglfs \                                                                    
        -no-gcc-sysroot \                                                           
        -make examples -make tools -nomake tests                
    // 再看一下   
    //  vim qtbase/mkspecs/devices/linux-beagleboard-g++/qmake.conf
      1 #                                                                               
      2 # qmake configuration for the BeagleBoard and BeagleBoard xM boards             
      3 # http://beagleboard.org/                                                       
      4                                                                                 
      5 MAKEFILE_GENERATOR      = UNIX                                                  
      6 CONFIG                 += incremental                                           
      7 QMAKE_INCREMENTAL_STYLE = sublib                                                
      8                                                                                 
      9 include(../../common/linux.conf)                                                
     10 include(../../common/gcc-base-unix.conf)                                        
     11 include(../../common/g++-unix.conf)                                             
     12                                                                                 
     13 load(device_config)                                                             
     14                                                                                 
     15 QT_QPA_DEFAULT_PLATFORM = eglfs                                                 
     16                                                                                 
     17 # modifications to g++.conf                                                     
     18 QMAKE_CC                = $${CROSS_COMPILE}gcc                                  
     19 QMAKE_CXX               = $${CROSS_COMPILE}g++                                  
     20 QMAKE_LINK              = $${QMAKE_CXX}                                         
     21 QMAKE_LINK_SHLIB        = $${QMAKE_CXX}                                         
     22                                                                                 
     23 # modifications to linux.conf                                                   
     24 QMAKE_AR                = $${CROSS_COMPILE}ar cqs                               
     25 QMAKE_OBJCOPY           = $${CROSS_COMPILE}objcopy                              
     26 QMAKE_NM                = $${CROSS_COMPILE}nm -P                                
     27 QMAKE_STRIP             = $${CROSS_COMPILE}strip                                
     28                                                                                 
     29 COMPILER_FLAGS          = -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mthumb   
     30                                                                                 
     31 #modifications to gcc-base.conf                                                 
     32 QMAKE_CFLAGS           += $${COMPILER_FLAGS}                                    
     33 QMAKE_CXXFLAGS         += $${COMPILER_FLAGS}                                    
     34 QMAKE_CXXFLAGS_RELEASE += -O3                                                   
     35                                                                                 
     36 QMAKE_LIBS             += -lrt -lpthread -ldl                                   
     37                                                                                 
     38 # Extra stuff (OpenGL, DirectFB, ...)                                           
     39 QMAKE_INCDIR_EGL        =                                                       
     40 QMAKE_LIBDIR_EGL        =                                                       
     41 QMAKE_INCDIR_OPENGL_ES2 = $${QMAKE_INCDIR_EGL}                                  
     42 QMAKE_LIBDIR_OPENGL_ES2 = $${QMAKE_LIBDIR_EGL}                                  
     43 QMAKE_INCDIR_OPENVG     = $${QMAKE_INCDIR_EGL}                                  
     44 QMAKE_LIBDIR_OPENVG     = $${QMAKE_LIBDIR_EGL}                                  
     45                                                                                 
     46 QMAKE_LIBS_EGL          = -lEGL -lIMGegl -lsrv_um                               
     47 QMAKE_LIBS_OPENGL_ES2   = -lGLESv2 $${QMAKE_LIBS_EGL}                           
     48 QMAKE_LIBS_OPENVG       = -lOpenVG $${QMAKE_LIBS_EGL}                           
     49                                                                                 
     50 DISTRO_OPTS += hard-float                                                       
     51                                                                                 
     52 # No need for any special EGL device integration.                               
     53 # Prioritize the default, compiled-in integration over any plugins.             
     54 EGLFS_DEVICE_INTEGRATION = none                                                 
     55                                                                                 
     56 include(../common/linux_arm_device_post.conf)                                   
     57                                                                                 
     58 load(qt_config)                                                                  
  • 编译

    make
    make install
    生成的文件会放在  sysroot 下面的 /home/sbc_7109_454_pdk3/qt_5.7/qtlib  里面
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值