zynq平台QT4.73移植

平台:Ubuntu16.04+zynq7020(目前此版本测试成功)

一、虚拟机的环境变量设置

交叉编译工具设置

注意:一定看好自己的板子跑的是什么文件系统?选择什么样的编译器。

本人用的是 linaro下Ubuntu

交叉编译工具一定要使用 arm-linux-gnueabihf-

apt-get install gcc-arm-linux-gnueabihf


二、移植tslib库

问题:测试了一个tslib1.4版本,在我们板子上运行ts_calibrate  一直处于黑屏状态,没有任何反应

源码下载:链接:https://pan.baidu.com/s/1Jaj86HQE4jA8Y7xh9VIdHA 密码:g5io

sudo apt-get install autoconf automake libtool

unzip tslib-master.zip

sudo mkdir -p /opt/arm-tslib

cd tslib-master

./autogen.sh # echo "ac_cv_func_malloc_0_nonnull=yes" > arm-linux-gnueabihf.cache

./configure CC=arm-linux-gnueabihf-gcc --host=arm-linux-gnueabihf  --cache-file=arm-linux-gnueabihf.cache --prefix=/opt/arm-tslib

make

问题:


第226行     /*if ((calfile = getenv("TSLIB_CALIBFILE")) != NULL) {
            cal_fd = open (calfile, O_CREAT | O_RDWR);
        } else {
            cal_fd = open ("/etc/pointercal", O_CREAT | O_RDWR);
        }*/
            if ((calfile = getenv("TSLIB_CALIBFILE")) != NULL) {
            cal_fd = open (calfile, O_CREAT | O_RDWR,0777);
        } else {
            cal_fd = open ("/etc/pointercal", O_CREAT | O_RDWR,0777);
        }


make install



二、QT源码获取:

QT源码下载:链接:https://pan.baidu.com/s/1hLjrAwf_8X6hfU72OV6Umw 密码:3oiv


三、QT源码解压


将源码下载下来放到/opt此路径下面。

1、解压

  cd /opt

  tar -xzvf qt-everywhere-opensource-src-4.7.3.tar.gz


2、修改编译配置
 cd /qt-everywhere-opensource-src-4.7.3/mkspecs/qws/linux-arm-gnueabi-g++/

 gedit qmake.conf

将原来的

#
# qmake configuration for building with arm-linux-gnueabi-g++
#

MAKEFILE_GENERATOR      = UNIX
CONFIG                 += incremental
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                = arm-linux-gnueabi-gcc
QMAKE_CXX               = arm-linux-gnueabi-g++
QMAKE_LINK              = arm-linux-gnueabi-g++
QMAKE_LINK_SHLIB        = arm-linux-gnueabi-g++

# modifications to linux.conf
QMAKE_AR                = arm-linux-gnueabi-ar cqs
QMAKE_OBJCOPY           = arm-linux-gnueabi-objcopy
QMAKE_NM                = arm-linux-gnueabi-nm -P
QMAKE_STRIP             = arm-linux-gnueabi-strip

load(qt_config)

修改为:

#
# qmake configuration for building with arm-none-linux-gnueabi-g++
#

include(../../common/g++.conf)
include(../../common/linux.conf)
include(../../common/qws.conf)

# modifications to g++.conf
QMAKE_CC                = arm-linux-gnueabihf-gcc  -lts
QMAKE_CXX               = arm-linux-gnueabihf-g++  -lts
QMAKE_LINK              = arm-linux-gnueabihf-g++  -lts
QMAKE_LINK_SHLIB        = arm-linux-gnueabihf-g++  -lts

# modifications to linux.conf
QMAKE_AR                = arm-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY           = arm-linux-gnueabihf-objcopy
QMAKE_STRIP             = arm-linux-gnueabihf-strip
load(qt_config)


四、QT源码配置
./configure \
-embedded armv7 \
-xplatform qws/linux-arm-gnueabi-g++ \
-little-endian \
-opensource \
-host-little-endian \
-confirm-license \
-nomake demos \
-nomake examples \
-qt-zlib \
-qt-mouse-tslib -I/opt/arm-new-tslib/include -L/opt/arm-new-tslib/lib \
-prefix (注意:自己的安装目录)


四、编译QT源码和安装


make

make install



发布了64 篇原创文章 · 获赞 63 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/qq84395064/article/details/79384052
今日推荐