qt embeded 移植到3531

这几天编译了QT试试,几经周折终于成功,分享下。
1、下载
        ftp://ftp.qt.nokia.com/qt/source/qt-embedded-linux-opensource-src-4.5.3.tar.gz
        解压        

2、进入 mkspecs/qws        目录
        cp -rf linux-arm-g++ linux-hisi3531-g++
        进入 linux-hisi3531-g++ 目录
        修改 qmake.conf
                # modifications to g++.conf
                QMAKE_CC                = arm-hismall-linux-gcc
                QMAKE_CXX               = arm-hismall-linux-g++
                QMAKE_LINK              = arm-hismall-linux-g++
                QMAKE_LINK_SHLIB        = arm-hismall-linux-g++
                
                # modifications to linux.conf
                QMAKE_AR                = arm-hismall-linux-ar cqs
                QMAKE_OBJCOPY           = arm-hismall-linux-objcopy
                QMAKE_STRIP             = arm-hismall-linux-strip
        也可以改成自己的编译器名称        

3、configure
        ./configure --prefix=/opt/qte -static -opensource -confirm-license -qt-sql-sqlite -qt-gfx-linuxfb -plugin-sql-sqlit -no-qt3support -no-phonon -no-svg -no-webkit  -no-scripttools  -qt-zlib -no-gif -qt-libtiff -qt-libpng -no-libmng -qt-libjpeg -no-rpath -no-pch -no-3dnow  -no-openssl -no-nis -no-cups -no-dbus -embedded arm -platform linux-g++ -xplatform qws/linux-hisi3531-g++ -little-endian -qt-freetype -no-opengl -no-glib -nomake demos -nomake examples -nomake docs -nomake tools
        
        简要说明:
                --prefix=/opt/qte   编译后的安装目录
                -static                                编译成静态库 *.a , 默认是动态库的 *.so
                -xplatform qws/linux-hisi3531-g++   指定编译器,这个要和第2步的目录对应,如果不一样,会提示找不到编译器。我当时一个地方是linux-hisi3531-g++,另一个地方是linux-hi3531-g++,结果提示找不到编译器,搞得都快放弃了。
                其它我也不懂,最后用的时候再说吧

4、make,然后 make install                
        make 没有问题,但是 make install 有好多问题,没管它,后面能工作的
        make install 安装到 /opt/qte 目录,这里面有字库,后面运行程序要用它

5、编译示例程序
        进入 examples/dialogs/findfiles
                qmake
        生成Makefile文件
                $(LINK) -static  $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
                上面这行加了 -static,因为我的romfs里面没有库,所以要全静态编译

        然后 make,生成执行文件

6、/tmp/qtembedded-0 目录问题
        运行示例程序,提示 /tmp/qtembedded-0 不能建立
        发现我的romfs没这个目录,建立tmp目录,重新生成romfs,升级系统
        然后 mount -t ramfs /dev/mem /tmp
        
7、字库问题
        运行示例程序,提示 /opt/qte/lib/fonts 找不到
        exports QT_QWS_FONTDIR=/home/1/qt/qte/lib/fonts
        这个要看自己的目录放哪儿了,我用nfs,目录比较长

8、fb问题
        运行示例程序,找不到 fb0
        修改 sample_hifb, 编译运行 sample_hifb&

        下面是网上找的修改过程,基本可以用,但不完善
                最近本人想要在Hi3531平台上运行QT,故有一些心得,写在这里与大家分享一下: 
                1.首先运行sample中的sample_hifb,以便打开fb0;但是需要对代码做一些修改:
                将main函数中的 pthread_create(&phifb0,0,SAMPLE_HIFB_REFRESH,(void *)(&stInfo0));
                改成  pthread_create(&phifb0,0,SAMPLE_HIFB_PTHREAD_RunHiFB,(void *)(&stInfo0));
                
                
                将SAMPLE_HIFB_PTHREAD_RunHiFB函数中的HI_BOOL g_bCompress = HI_TRUE;
                改成 HI_BOOL g_bCompress = HI_FALSE;
                
                
                在 
                    bShow = HI_TRUE;
                    if (ioctl(pstInfo->fd, FBIOPUT_SHOW_HIFB, &bShow) < 0)
                    {
                        printf("FBIOPUT_SHOW_HIFB failed!\n");
                        munmap(pShowScreen, fix.smem_len);
                        return HI_NULL;
                    }
                后面加上
                if (pstInfo->ctrlkey == 0)
                {
                  while(1)
                  sleep(5);
                }

9、成功运行示例程序

就记了这么多,可能有遗漏。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值