zynq平台QT4.73移植
平台:Ubuntu16.04+zynq7020(目前此版本测试成功)一、虚拟机的环境变量设置交叉编译工具设置注意:一定看好自己的板子跑的是什么文件系统?选择什么样的编译器。本人用的是 linaro下Ubuntu交叉编译工具一定要使用 arm-linux-gnueabihf-apt-get install gcc-arm-linux-gnueabihf二、移植tslib库问题:测试了一个tslib1
平台: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
将源码下载下来放到/opt此路径下面。
1、解压
cd /opt
tar -xzvf qt-everywhere-opensource-src-4.7.3.tar.gz
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
更多推荐
所有评论(0)