Sigmastar SSD202D 显示控制屏开发系列-2(QT开发环境搭建)

今天我们开始在ubuntu下搭建qt的开发环境

准备工作,所有资料都在百度网盘。


链接: https://pan.baidu.com/s/1FNo4ZpSStmxh7YVBA1LTOw
提取码: 6u76

网盘包括qt环境以及后续环境的交叉编译工具,移植的库文件,以及代码(qt+lvgl)

新森智能显示控制器开发环境搭建

开发环境要求

安装ubuntu或者ubuntu虚拟机 (Ubuntu18.04)或者以上版本

安装依赖

sudo apt-get install openssh-server
sudo apt-get install lib32z1 lib32ncurses5 
sudo apt-get install libuuid1:i386
sudo apt-get install cmake
sudo apt-get install libncurses5-dev libncursesw5-dev 
sudo apt install bc
sudo apt-get install xz-utils
sudo apt-get install automake 
sudo apt-get install libtool
sudo apt-get install libevdev-dev
sudo apt-get install pkg-config  
sudo apt-get install perl Python2.7
sudo apt-get install git
sudo apt-get install autogen
sudo apt-get install build-essential
sudo apt-get install autoconf
sudo dpkg-reconfigure dash

链接到sh

ls -al /bin/sh

创建文件夹

mkdir /home/ssd201/Desktop/tslib_build
mkdir /home/ssd201/Desktop/ssl_build
mkdir /home/ssd201/Desktop/qt_build

拷贝交叉编译器并且解压

mv gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf.tar.gz /opt/
tar -zxvf gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf.tar.gz

配置全局交叉编译环境

sudo gedit  ~/.bashrc
export PATH=/opt/gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf/bin:$PATH

编译tslib

cd /home/ssd201/Desktop
git clone https://github.com/libts/tslib.git
./autogen.sh
./configure --prefix=/home/ssd201/Desktop/tslib_build --host--gcc
Make -j4
Make install

编译openssl

mv openssl-1.1.1g.tar.gz /home/ssd201/Desktop/
cd  /home/ssd201/Desktop/
tar -zxvf openssl-1.1.1g.tar.gz
export OPENSSL_LIBS='-L/home/ssd201/Desktop/ssl_build/lib -lssl -lcrypto'
./config no-asm shared no-async --prefix=/home/ssd201/Desktop/ssl_build CC=arm-linux-gnueabihf-gcc
Make -j4
Make install

错误 -m64

修改makefile 文件,找到-m64,删除

编译QT开发环境

cp qt-everywhere-src-5.15.0.tar.xz  /home/ssd201/Desktop/
tar -xf qt-everywhere-src-5.15.0.tar.xz
cd qt-everywhere-src-5.15.0/

注意:

将/qtbase/src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp qlinuxfbscreen.h

替换成打包目录中的文件

修改QT匹配目标设备

gedit qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf
添加:
QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0:ratation=0
# modifications to g++.conf
QMAKE_CC	= arm-linux-gnueabihf-gcc
QMAKE_CXX	= arm-linux-gnueabihf-g++
QMAKE_LINK	= arm-linux-gnueabihf-g++ 
QMAKE_LINK_SHLIB	= arm-linux-gnueabihf-g++

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

配置QT库文件

./configure \
-openssl \
-I /home/ssd201/Desktop/ssl_build/include \
-L /home/ssd201/Desktop/ssl_build/lib \
-prefix /home/ssd201/Desktop/qt_build \
-static \
-release \
-opensource \
-make libs \
-xplatform linux-arm-gnueabi-g++ \
-optimized-qmake -pch \
-qt-libjpeg \
-qt-libpng \
-qt-zlib \
-no-opengl \
-skip qt3d \
-skip qtcanvas3d \
-skip qtpurchasing \
-skip qtlocation \
-skip qttools \
-no-sse2 \
-no-cups \
-no-glib \
-no-iconv \
-nomake examples \
-tslib \
-linuxfb \
-I /home/ssd201/Desktop/tslib_build/include \
-L /home/ssd201/Desktop/tslib_build/lib

注意:

-prefix 设置部署路径

-I XXX 设置引用头文件路径

-I XXX 设置链接库路径

编译

make -j32 
make install
make install 失败会是python版本问题,安装 python3.0以上版本
sudo apt-get install python 
export PATH=/home/ssd201/Desktop/qt_build/bin:$PATH

错误问题

../src/corelib/global/qfloat16.h:300:7: error: ‘numeric_limits’ is not a class template

修改 Src/qtbase/src/corelib/global/qglobal.h

#ifdef __cplusplus
#include <type_traits>
#include <cstddef>
#include <utility>
+++ # include <limits> //加上这行
#endif
#ifndef ASSEMBLER
#include <assert.h>
#include <stddef.h>
#endifh

欢迎大家加微信

产品咨询

技术咨询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值