Qt5.3 MIPS Openwrt交叉编译 移植

网上关于ARM Linux移植比较多,在此把qt mips linux移植过程记录如下。

参考https://blog.csdn.net/yihui8/article/details/39503645

目标板:MIPS Openwrt

宿主:Ubuntu12.04(已通过apt-get安装必要的工具)

一、准备交叉编译链

交叉编译链通常由开发板厂商提供。将交叉编译链解压,然后把其中bin目录放到系统路径下。

二、configure

1、下载Qt源码http://download.qt.io/archive/qt/5.3/5.3.2/single/

2、我的编译选项,这里面去掉了很多东西,包括界面。可以通过./configure –help查看每一项是什么意思,根据自己需要添加

./configure -release -xplatform linux-mips-g++ -confirm-license -opensource -shared -no-qml-debug -no-opengl -no-audio-backend -no-openssl -no-sql-sqlite -no-libjpeg -no-libpng -no-gif -no-journald -no-mtdev -no-freetype -no-harfbuzz -no-glib -no-gtkstyle -no-gui -no-widgets -no-iconv -no-tslib -no-linuxfb -no-dbus -qt-zlib -nomake examples

其中-xplatform linux-mips-g++就是交叉编译要找的目录

最原始的代码里是没有linux-mips-g++这个目录的所以要自己添加

在qtbase/mkspecs下创建linux-mips-g++文件夹

然后添加文件qmake.conf和qplatformdef.h两个文件

qmake.conf按照如下编写(mipsel-openwrt-linux-是我的交叉编译工具前缀,换成你自己的)

# qmake configuration for building with mipsel-openwrt-linux-g++

#

MAKEFILE_GENERATOR      = UNIX 

CONFIG                  += incremental gdb_dwarf_index 

QMAKE_INCREMENTAL_STYLE = sublib 

 

include(../common/linux.conf) 

include(../common/gcc-base-unix.conf) 

include(../common/g++-unix.conf) 

 

# modifications to g++.conf 

QMAKE_CC                = mipsel-openwrt-linux-gcc 

QMAKE_CXX               = mipsel-openwrt-linux-g++ 

QMAKE_CFLAGS           += -mips32 

QMAKE_CXXFLAGS         += -mips32 

QMAKE_LINK              = mipsel-openwrt-linux-g++ 

QMAKE_LINK_SHLIB        = mipsel-openwrt-linux-g++ 

 

# modifications to linux.conf 

QMAKE_AR                = mipsel-openwrt-linux-ar cqs 

QMAKE_OBJCOPY           = mipsel-openwrt-linux-objcopy 

QMAKE_STRIP             = mipsel-openwrt-linux-strip 

load(qt_config)

qplatformdef.h从qtbase/mkspecs/linux-arm-gnueabi-g++目录下拷贝即可

三、make

然后make,make install就可以了,默认安装到/usr/local/Qt5.3.2

四、我所遇到的问题

  1. 缺少ruby,apt-get install ruby1.8

     2.缺少icu库,icu库要与qt版本对应。交叉编译icu52.1,安装到交叉编译链根目录下

你可能感兴趣的:(Qt,交叉编译,qt,mips,linux,openwrt,移植)