zoukankan      html  css  js  c++  java
  • Ubuntu14.04配置gcc4.4.4+Qt4.8.4交叉编译环境

    Ubuntu14.04配置gcc4.4.4+Qt4.8.4交叉编译环境, Ubuntu16.04也类似,

    安装32位程序运行支持

    sudo apt-get install lib32stdc++6 lib32z1 lib32ncurses5 lib32bz2-1.0
    
    • 可能报错:

      lib32stdc++6 : 依赖: lib32gcc1 (>= 1:4.1.1) 但是它将不会被安装 E: 无法修正错误
      
      • 解决方案:
        sudo aptitude -f install lib32stdc++6
        
        • 若没有aptitude需先安装该软件

        • 在提示中第一处选n, 第二处选y, 如下:

          edu@edu:/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin$ sudo aptitude -f install lib32stdc++6
          下列“新”软件包将被安装。         
            lib32gcc1{ab} lib32stdc++6 
          0 个软件包被升级,新安装 2 个, 0 个将被删除, 同时 385 个将不升级。
          需要获取 310 kB 的存档。 解包后将要使用 1,338 kB。
          下列软件包存在未满足的依赖关系:
           lib32gcc1 : 依赖: gcc-4.9-base (= 4.9-20140406-0ubuntu1) 但是 4.9.3-0ubuntu4 已安装。
          下列动作将解决这些依赖关系:
          
               保持 下列软件包于其当前版本:
          1)     lib32gcc1 [未安装的]       
          2)     lib32stdc++6 [未安装的]    
          
          
          
          是否接受该解决方案?[Y/n/q/?] n
          
          下列动作将解决这些依赖关系:
          
               降级 下列软件包:                                                      
          1)     gcc-4.9-base [4.9.3-0ubuntu4 (now) -> 4.9-20140406-0ubuntu1 (trusty)]
          2)     libgcc1 [1:4.9.3-0ubuntu4 (now) -> 1:4.9-20140406-0ubuntu1 (trusty)] 
          
          是否接受该解决方案?[Y/n/q/?] y
          下列软件包将被“降级”:
            gcc-4.9-base libgcc1 
          下列“新”软件包将被安装。
            lib32gcc1{a} lib32stdc++6 
          0 个软件包被升级,新安装 2 个, 2 个被降级, 0 个将被删除, 同时 385 个将不升级。
          需要获取 363 kB 的存档。 解包后将要使用 1,328 kB。
          您要继续吗?[Y/n/?] y
          

    安装arm编译gcc

    • 安装
    cd /opt/
    sudo tar -zxvf gcc-4.4.4-glibc-2.11.1-multilib-1.0.tar.gz
    
    • 测试是否安装成功
      • 在目录/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin#下,测试是否安装成功,成功后效果如图。执行命令: ./arm-none-linux-gnueabi-gcc -v
        edu@edu:/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin$ ./arm-none-linux-gnueabi-gcc -v
        Using built-in specs.
        Target: arm-fsl-linux-gnueabi
        Configured with: /work/arm-toolchains/tmp/src/gcc-4.4.4/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=arm-fsl-linux-gnueabi --prefix=/work/     arm_fsl_gcc_4.4.4_multilib --with-sysroot=/work/arm_fsl_gcc_4.4.4_multilib/arm-fsl-linux-gnueabi/multi-libs --enable-languages=c,c++ --with-pkgversion=4.4.4_09.06.2010     --enable-__cxa_atexit --disable-libmudflap --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-gmp=/work/arm-toolchains/tmp/arm-fsl-linux-gnueabi/   build/static --with-mpfr=/work/arm-toolchains/tmp/arm-fsl-linux-gnueabi/build/static --with-ppl=/work/arm-toolchains/tmp/arm-fsl-linux-gnueabi/build/static --with-cloog=/work/   arm-toolchains/tmp/arm-fsl-linux-gnueabi/build/static --enable-threads=posix --enable-target-optspace --with-local-prefix=/work/arm_fsl_gcc_4.4.4_multilib/arm-fsl-linux-gnueabi/    multi-libs --disable-nls --enable-symvers=gnu --enable-c99 --enable-long-long --enable-multilib --with-system-zlib --enable-lto
        Thread model: posix
        gcc version 4.4.4 (4.4.4_09.06.2010) 
        
    • 到这里交叉编译gcc已配置完, 后面根据需要进行环境变量的设置, 一般采用如下语句:
      export PATH=/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin:$PATH
      

    编译安装qt4.8.4

    • 生成makefile

      ./configure -prefix /usr/local/Qt-4.8.4 -embedded arm -xplatform /qws/ linux-arm-g++ -depths 16,24,32 -little-endian -no-mmx -no-3dnow -no-sse   -no-sse2 -no-glib -no-cups -no-largefile -no-accessibility -no-openssl  -no-gtkstyle -qt-freetype -qt-mouse-pc -qt-mouse-linuxtp -qt-mouse-linuxinput  -plugin-mouse-pc -fast -qt-gfx-transformed -opensource -confirm-license
      
    • make

      • make过程较长, 这里启用的6核编译, 大约用了半个小时编译完成.
        make -j6
        
      • 可能错误
        • 提示类似如下信息
          make[1]: arm-linux-g++:命令未找到
          make[1]: *** [.obj/release-shared-emb-arm/compress.o] 错误 2
          
          • 将./configure 参数-xplatform /qws/linux-arm-g++修改为-xplatform /qws/linux-arm-gnueabi-g++即可
        • 提升如下信息
          libz.so.1: cannot open shared object file: No such file or directory
          
          安装lib32z1或lib32stdc++6后尝试
          sudo apt-get install lib32z1
          
    • make install

      sudo make install
      
    • 根据环境需要设置环境变量

      export ARMQTDIR=/usr/local/Qt-4.8.4
      export PATH=$ARMQTDIR/bin:$PATH
      export MANPATH=$ARMQTDIR/man:$MANPATH
      export LD_LIBRARY_PATH=$ARMQTDIR/lib:$LD_LIBRARY_PATH
      
    • 检查Qt安装

      qmake -v
      

      提示如下信息, 表示安装成功

      QMake version 2.01a
      Using Qt version 4.8.4 in /usr/local/Qt-4.8.4/lib
      
  • 相关阅读:
    php命令注入
    mysql事物
    安装php环境
    移除服务器缓存实例
    show user profile synchronization tools
    manual start user profile import
    JSON is undefined. Infopath Form People Picker in SharePoint 2013
    asp.net web 应用站点支持域账户登录
    Load sharepoint envirement by powershell
    sharepoint 2016 download
  • 原文地址:https://www.cnblogs.com/linkyip/p/10760038.html
Copyright © 2011-2022 走看看