当前位置: 首页 > news >正文

郑州市网站建设公司外贸圈阿里巴巴

郑州市网站建设公司,外贸圈阿里巴巴,ppt免费模板哪个网站好,专业建网站价格本文参考Blev大神的博客:Yuzuki Lizard V851S开发板 --移植 QT5.12.9教程(群友Blev提供) - Allwinner / 柚木PI-V851S - 嵌入式开发问答社区 (100ask.net) 一. 环境准备 1.下载qt5源码:Open Source Development | Open Source …

本文参考Blev大神的博客:Yuzuki Lizard V851S开发板 --移植 QT5.12.9教程(群友Blev提供) - Allwinner / 柚木PI-V851S - 嵌入式开发问答社区 (100ask.net)

一. 环境准备 

1.下载qt5源码:Open Source Development | Open Source License | Qt 或者从v851s sdk 中获取

路径:tina-v853-docker/platform/thirdparty/gui/qt/qt-5.12.9.tar.xz

2. 编译环境:vmware虚拟机安装的ubuntu22.10

3. 交叉编译工具:v851s sdk 中的toolchain

路径:tina-v853-docker/prebuilt/rootfsbuilt/arm/toolchain-sunxi-musl-gcc-830

4. ubuntu下需要安装的依赖库:

apt-get install repo git gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler mtools \
parted libudev-dev libusb-1.0-0-dev python-linaro-image-tools linaro-image-tools libssl-dev \
autotools-dev libsigsegv2 m4 libdrm-dev curl sed make binutils build-essential gcc g++ bash \
patch gzip bzip2 perl tar cpio python unzip rsync file bc wget libncurses5 libglib2.0-dev \
openssh-client lib32stdc++6 gcc-aarch64-linux-gnu libncurses5-dev lzop libssl1.0.0 libssl-dev \
libglade2-dev cvs mercurial subversion asciidoc w3m dblatex graphviz python-matplotlib \
libc6:i386 texinfo liblz4-tool genext2fs expect autoconf intltool libqt4-dev libgtk2.0-dev

二. 解压qt5源码进行编译

1. 在 ubuntu 的 home/xxx/ 下创建一个qt5 的文件,解压qt5 源码

tar -xvf qt-xxx.tar.xz

2. 将交叉编译工具放到 ubuntu 的home/xxx/  ,采用绝对路径的方式调用交叉编译工具

3. 在qt5 源码根目录下创建 build.sh 写入编译规则 ,并且给权限

touch build.sh
chmod 777 build.sh

在 build.sh 中写入编译规则:

#!/bin/sh
PWD=`pwd`mkdir arm-qt./configure \-prefix $PWD/arm-qt \-release \-opensource \-shared \-xplatform linux-arm-gnueabi-g++ \-optimized-qmake \-pch \-qt-sqlite \-qt-libjpeg \-qt-libpng \-qt-zlib \-no-opengl \-skip qt3d \-skip qtcanvas3d \-skip qtpurchasing \-skip qtlocation \-skip qttools \-no-sse2 \-no-openssl \-no-cups \-no-glib \-no-dbus \-no-xcb \-no-iconv \-no-separate-debug-info \-no-fontconfig \-recheck-all \-make examplesmake -j16 make install

4. 配置交叉编译工具路径,qt5源码根目录下打开文件qmake.conf:

gedit qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf

#
# qmake configuration for building with arm-linux-gnueabi-g++
#MAKEFILE_GENERATOR      = UNIX
CONFIG                 += incremental
QMAKE_INCREMENTAL_STYLE = sublibinclude(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)#一定要是你 toolchain 的绝对路径,不要写错
#CROSS_COMPILE=arm-openwrt-linux
#CROSS_COMPILE=/home/navy/v851s/Yuzukilizard/toolchain/toolchain-sunxi-musl-gcc-830/toolchain/bin/arm-openwrt-linux
CROSS_COMPILE=/home/navy/v851s/Yuzukilizard/toolchain/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi/bin/arm-linux-gnueabi# modifications to g++.conf
QMAKE_CC                = $${CROSS_COMPILE}-gcc
QMAKE_CXX               = $${CROSS_COMPILE}-g++
QMAKE_LINK              = $${CROSS_COMPILE}-g++
QMAKE_LINK_SHLIB        = $${CROSS_COMPILE}-g++# modifications to linux.conf
QMAKE_AR                = $${CROSS_COMPILE}-ar cqs
QMAKE_OBJCOPY           = $${CROSS_COMPILE}-objcopy
QMAKE_NM                = $${CROSS_COMPILE}-nm -P
QMAKE_STRIP             = $${CROSS_COMPILE}-strip
load(qt_config)

5. 编译并安装产生库文件

  在qt5 源码根目录下执行:

./build.sh

  执行:

make install

  将会在qt5 根目录arm-qt 文件中产生所有的qt5 的库文件,将其下载到嵌入式开发版中即可。

三. 编写qtDemo 进行测试

1. 在 ubuntu home/xxx/ 中创建qtDemo 文件夹,并且创建两个文件helloworld.cpp 和 helloworld.pro 

mkdir qtDemo
touch helloworld.cpp
touch helloworld.pro

在 helloworld.cpp 中写入:

#include <QApplication>
#include <QWidget>
#include <QLabel>
#include <QSlider>
#include <QHBoxLayout>int main(int argc, char **argv)
{QApplication app(argc, argv);QWidget *window  = new QWidget;window->setWindowTitle("I am a slider");QLabel *label = new QLabel;  // QLabel控件,用于显示数字QSlider *slider = new QSlider(Qt::Horizontal);  // 滑动条slider->setRange(0, 100);QObject::connect(slider, SIGNAL(valueChanged(int)), label, SLOT(setNum(int)));slider->setValue(50);QHBoxLayout *layout = new QHBoxLayout; //level layout->addWidget(label);layout->addWidget(slider);window->setLayout(layout);window->resize(400, 240);window->show();return app.exec();
}

在 helloworld.pro 中写入:

######################################################################
# Automatically generated by qmake (3.1) Fri Jan 12 17:28:28 2024
######################################################################TEMPLATE = app
TARGET = helloworld
INCLUDEPATH += .# The following define makes your compiler warn you if you use any
# feature of Qt which has been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0# Input
SOURCES += helloworld.cppgreaterThan(QT_MAJOR_VERSION, 4): QT += widgets

2. 通过编译出来的qt5 对demo 进行测试:

在qt源码目录下执行:

arm-qt/bin/qmake -project
arm-qt/bin/qmake
arm-qt/bin/qmake helloworld.cpp

将产生的二进制文件helloworld 下载到嵌入式开发板,给权限,执行./helloworld 即可。

chmod 777 helloworld
./helloworld

 ******* 如果提示库文件出错,请将xxx5.12.9.so 库文件名均改成xxx5.so

http://www.yayakq.cn/news/190266/

相关文章:

  • 天津市门户网站建设要求门户网站建设方案 模板
  • 太原网站制作在线郓城那家网站做的好
  • 网站开发还需要兼ie吗施工企业机械承包责任制度
  • 网站建设模板报价纯色涂料网站建设
  • 网站后台 开源房产设计公司网站
  • 企业网站建设的实验报告网站建设教程 mysql
  • 怎样编程制作自己的app济南做网站优化哪家好
  • 盐城网站app建设北京建设部网站官网
  • 湖南禹班建设集团网站wordpress 分享到微信
  • 深圳市做网站公司新网金商网站
  • 电子商务网站设计要求天津最好网站建设公司
  • 一级a做爰片免费网站冫wordpress网站布置
  • 微网站 合同杭州桐庐网站建设
  • 无锡网站建设报价明细表网络网站建设电话
  • 网站前期推广wordpress 功能 rss
  • 网站没后台怎么修改类容有域名没有服务器怎么做网站
  • 网站图文列表广州网站建设公司奇亿网站建设
  • 常熟网站制作哪家好免费网站建设哪个好
  • 自己搭建个人网站橘子seo
  • 重庆网站推广运营网站建设的知名公司
  • 做问卷的网站好网页翻译功能
  • 外贸公司网站建设费用虚拟主机网站建设步骤
  • 鄂州网站制作哪家好搜索数据
  • 制作网页的网站费用属于资本性支出吗崇信门户网站留言回复
  • 企业如何加强互联网网站建设广告设计制作工作室
  • 广州公共资源交易中心官网网站关键词如何优化上首页
  • 网站公司建设公司建设手机银行网站
  • 建站工具华为郑州做网站网络公司
  • 网站备份怎么做网站建设公司找博行
  • 重庆建网站校友网站建设的重要性