0 环境准备
导出交叉编译环境
#!/bin/sh
set -x
CC_PREFIX=/home/xuchenghua/toolchain/cross-tools/cross-gcc-4.9.3-n64-loongson-rc6.1
export PATH=$CC_PREFIX/usr/bin:$PATH
export LD_LIBRARY_PATH=$CC_PREFIX/usr/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$CC_PREFIX/usr/x86_64-unknown-linux-gnu/mips64el-loongson-linux/lib/:$LD_LIBRARY_PATH
set +x
Qt5.5.1 编译
配置mkspecs
由于mkspecs目录下没有基于mips的配置项,故而执行以下命令,产生一组配置文件
cd mkspecs
cp -r linux-arm-gnueabi-g++ linux-mips-g++
进入linux-mips-g++目录中,修改qmake.conf如下:
#
# qmake configuration for building with arm-linux-gnueabi-g++
#
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
QMAKE_CLFAGS += -mabi=64
QMAKE_CXXLFAGS += -mabi=64
CFLAGS += -mabi=64
CXXFLAGS += -mabi=64
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
# 以下四个根据实际情况进行修改
QMAKE_INCDIR_X11 =/home/xuchenghua/loongson_jari_rootfs/usr/include
QMAKE_LIBDIR_X11 =/home/xuchenghua/loongson_jari_rootfs/usr/lib
QMAKE_INCDIR_OPENGL =/home/xuchenghua/loongson_jari_rootfs/usr/include
QMAKE_LIBDIR_OPENGL =/home/xuchenghua/loongson_jari_rootfs/usr/lib
# modifications to g++.conf
QMAKE_CC = mips64el-loongson-linux-gcc
QMAKE_CXX = mips64el-loongson-linux-g++
QMAKE_LINK = mips64el-loongson-linux-g++
QMAKE_LINK_SHLIB = mips64el-loongson-linux-g++
# modifications to linux.conf
QMAKE_AR = mips64el-loongson-linux-ar cqs
QMAKE_OBJCOPY = mips64el-loongson-linux-objcopy
QMAKE_NM = mips64el-loongson-linux-nm -P
QMAKE_STRIP = mips64el-loongson-linux-strip
load(qt_config)
configure配置
使用脚本如下:
#!/bin/sh
./configure \
-v \
-opensource \
-confirm-license \
-shared \
-release \
-xplatform linux-mips-g++ \
-prefix /opt/qt5.5.1_ljm \
-opensource \
-c++11 \
-make libs \
-opengl es2 \
-qt-xcb \
-nomake examples \
-nomake tests \
-sysroot /home/xuchenghua/loongson_jari_rootfs
exit
|