imx6ull移植QT5.7.0

  1. 简介
    QT是一个跨平台的UI工具,主要用C++开发,速度快。
    依赖库libpng

  2. 移植
    QT源码下载1
    QT源码下载2
    configure 配置内容可参考链接

#解压并进入源码
tar xzf qt-everywhere-opensource-src-5.7.0.tar.gz
cd qt-everywhere-opensource-src-5.7.0
#根据CPU架构等修改qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf文件
#根据cpu架构添加以下内容
QT_QPA_DEFAULT_PLATFORM = linuxfb
QMAKE_CFLAGS  += -O2 -march=armv7-a -mtune=cortex-a7
QMAKE_CXXFLAGS += -O2 -march=armv7-a -mtune=cortex-a7
#add end

# 修改为自己的编译工具链,当输入设备为触摸屏时添加-lts链接触摸屏库
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_NM                = arm-linux-gnueabihf-nm -P
QMAKE_STRIP             = arm-linux-gnueabihf-strip
#配置
mkdir out_dir
./configure  -prefix $(pwd)/out_dir  -xplatform linux-arm-gnueabi-g++ -opensource \
 -shared -no-opengl -tslib -nomake examples -no-dbus  -no-openssl -skip qtdeclarative \
-I /home/hqmo/workspace/share/itopimx6ull/my_uboot_linux/usr_lib/tslib/tmp/include \
-L /home/hqmo/workspace/share/itopimx6ull/my_uboot_linux/usr_lib/tslib/tmp/lib

#编译并安装
make && make install
#将out_dir生成的文件拷贝到开发板及ubuntu /usr/local/arm/ 
sudo mkdir /usr/local/arm/qt5.9.8_imx6ull
cp out_dir/* /usr/local/arm/qt5.9.8_imx6ull -rf -d
#拷贝到开发板后需要设置相应的环境变量
#可以在开发板/etc/中新建qt_config并添加
#QTDIR路径为开发板中qt位置
export QTDIR=/usr/local/arm/qt5.9.8_imx6ull
export PATH=$PATH:$QTDIR/bin
export MANPATH=$MANPATH:$QTDIR/man
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QTDIR/lib
export QT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins/platforms
export QT_PLUGIN_PATH=$QTDIR/plugins/platforms/
export QT_QPA_FONTDIR=$QTDIR/lib/fonts
#export QT_QPA_GENERIC_PLUGINS=tslib
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0:size=1024x786:mmSize=1024x786:offset=0x0:tty=/dev/tty1
#export QT_QPA_FB_TSLIB=1
  1. 修改ubuntu 默认qt
    参考
  2. qt程序在ubuntu上编译
#将qt creator中生成的所有.c .h及.ui .qml文件拷贝到ubuntu中
#生成.pro文件
qmake -project
#生成Makefile文件
qmake XXX.pro
#生成可执行文件
make
  1. qt添加自适应屏幕代码
//自适应屏幕功能头文件
#include <QDesktopWidget>
#include <QStyle>
#include <QRect>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    //自适应屏幕代码起始
    QDesktopWidget *deskTopWidget = QApplication::desktop();
    QRect deskRect = deskTopWidget->availableGeometry();
    int appH = deskRect.height();
    int appW = deskRect.width();
    this->setFixedSize(appW, appH);
    setGeometry(0, 0, appW, appH);
    //自适应屏幕代码结束
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值