色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

嵌入式Linux-Qt環境搭建 Qt程序運行測試

碼農愛學習 ? 來源:碼農愛學習 ? 作者:碼農愛學習 ? 2022-06-01 09:07 ? 次閱讀

本編介紹如何在嵌入式Linux開發板上配置Qt運行環境,并進行Qt程序運行測試。

1 tslib編譯

tslib之前在測試觸摸屏的時候使用過,這里再來記錄一下編譯過程。

下載tslib庫的源碼:https://github.com/libts/tslib/tags

將下載的源碼拷貝到ubuntu虛擬機中,然后解壓:

tar xvf tslib-1.21.tar.bz2 

編譯 tslib 的時候需要先在 ubuntu 中安裝一些文件:

sudo apt-get install autoconf 
sudo apt-get install automake 
sudo apt-get install libtool 

在 ubunt中創建一個名為“tslib”的目錄存放編譯結果,然后執行以下指令進行編譯:

./configure --host=arm-linux-gnueabihf ac_cv_func_malloc_0_nonnull=yes --cache-file=arm-linux.cache -prefix=/home/xxpcb/myTest/imx6ull/otherlib/tslib-2/tslib

make
make install

編譯完成后,make install會將編譯成果復制到指定的tslib目錄中:

poYBAGKWMTuAJPDJAAErxazYK9U995.png

將tslib文件夾先整個打包為arm-tslib.tar.bz2文件,后面移植到開發板時用:

tar -jcf arm-tslib.tar.bz2 tslib 

2 Qt源碼編譯

2.1 下載Qt5的源碼

下載地址:https://download.qt.io/archive/qt/5.15/5.15.2/single/

pYYBAGKWMUaAF2DOAAFlBSLg_OM728.png

將下載的qt-everywhere-src-5.15.2.tar.xz拷貝到Ubuntu中,然后解壓:

tar -xvf qt-everywhere-src-5.15.2.tar.xz 
poYBAGKWMU2AQYcPAAG80_L1qzg252.png

2.2 修改qmake.conf

修改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 = 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)

修改成如下:

pYYBAGKWMVaAT4SVAAHCwVl5zUw772.png

2.3 配置編譯選項

查看編譯選項,輸入./configure -help 指令,查看可配置選項

./configure -help
poYBAGKWMV2AWfe3AAJYlvKLSsU361.png

可以看到配置項有很多,因此可以使用一個配置腳本來進行配置。

編寫一個autoconfigure.sh文件,然后根據自己的情況,寫入如下配置:

./configure -prefix /home/xxpcb/myTest/imx6ull/otherlib/qt/qt-everywhere-src-5.12.9/arm-qt \
-opensource \
-confirm-license \
-release \
-strip \
-shared \
-xplatform linux-arm-gnueabi-g++ \
-optimized-qmake \
-c++std c++11 \
--rpath=no \
-pch \
-skip qt3d \
-skip qtactiveqt \
-skip qtandroidextras \
-skip qtcanvas3d \
-skip qtconnectivity \
-skip qtdatavis3d \
-skip qtdoc \
-skip qtgamepad \
-skip qtlocation \
-skip qtmacextras \
-skip qtnetworkauth \
-skip qtpurchasing \
-skip qtremoteobjects \
-skip qtscript \
-skip qtscxml \
-skip qtsensors \
-skip qtspeech \
-skip qtsvg \
-skip qttools \
-skip qttranslations \
-skip qtwayland \
-skip qtwebengine \
-skip qtwebview \
-skip qtwinextras \
-skip qtx11extras \
-skip qtxmlpatterns \
-make libs \
-make examples \
-nomake tools -nomake tests \
-gui \
-widgets \
-dbus-runtime \
--glib=no \
--iconv=no \
--pcre=qt \
--zlib=qt \
-no-openssl \
--freetype=qt \
--harfbuzz=qt \
-no-opengl \
-linuxfb \
--xcb=no \
-tslib \
--libpng=qt \
--libjpeg=qt \
--sqlite=qt \
-plugin-sql-sqlite \
-I/home/xxpcb/myTest/imx6ull/otherlib/tslib-2/tslib/include \
-L/home/xxpcb/myTest/imx6ull/otherlib/tslib-2/tslib/lib \
-recheck-all

注意其中3處是自己的配置路:

1 /home/xxpcb/myTest/imx6ull/otherlib/qt/qt-everywhere-src-5.12.9/arm-qt 為編譯輸出路徑。

2 /home/xxpcb/myTest/imx6ull/otherlib/tslib-2/tslib/include 為tslib 頭文件路徑。

3 /home/xxpcb/myTest/imx6ull/otherlib/tslib-2/tslib/lib 為tslib相關庫文件路徑。

其它一些參數的含義:

-opensource:構建Qt的開源版本

-release:使用release版本的Qt

-xplatform linux-arm-gnueabi-g++:指定編譯器

-skip qt3d:跳過Qt的3d

-make libs:編譯要用到的庫

-make examples:編譯生成Qt的例程代碼

-nomake tools:不生成Qt的工具

-no-openssl:不使用openssl

2.4 編譯

配置前需要先安裝 g++

sudo apt-get install g++

賦予腳本可執行權限,然后執行 autoconfigure.sh

chmod +x autoconfigure.sh
./autoconfigure.sh 
poYBAGKWMWqAGjS2AAFyYkWnLfg824.png

運行完成之后:

pYYBAGKWMXGAWpoYAAEAVDQVJso376.png

然后就可以執行make指令進行編譯了。

編譯大約需要十幾到幾十分鐘。

poYBAGKWMXmAIA18AAL3xumBDCA010.png

編譯完成之后,再執行make install進行安裝,安裝之后就可以看到arm-qt文件中的內容了:

pYYBAGKWMX-APnNwAAHPuD-9fOI674.png

將qrm-qt文件夾先整個打包為arm-qt.tar.bz2文件,后面移植到開發板時用:

tar -jcf arm-qt.tar.bz2 arm-qt

2.5 編譯出錯的問題

make編譯時可能會遇到編譯出錯

情況1:我遇到過下面這種:

poYBAGKWMYWAe9dTAACeL7o-xRc008.png

這種情況是因為我的ubuntu虛擬機空間不夠用了,解決方法就是給虛擬器擴容,具體操作過程見:

情況2:編譯最新版本的QT源碼報錯

poYBAGKWMYuAEenyAAHoZx4PJNQ420.png

使用Qt最新版本5.15.2編譯報錯,暫未找到解決方法,所以我先用5.12.9版本的Qt。

3 開發板上配置Qt環境

3.1 復制tslib和Qt的編譯文件

將之前打包的arm-tslib.tar.bz2和arm-qt.tar.bz2壓縮包復制到板子中,可以先復制到nfs網絡位置,然后解壓到/usr/lib 目錄下,解壓后開刪除無用的壓縮包。

這是對arm-qt的操作步驟:

cp arm-qt.tar.bz2 ~/myTest/nfs/rootfs/usr/lib
cd ~/myTest/nfs/rootfs/usr/lib/
tar xf arm-qt.tar.bz2
rm arm-qt.tar.bz2 

arm-tslib復制與解壓過程類似。

3.2 設置開發板的環境變量

編輯/etc/profile,寫入如下內容:

export TSLIB_ROOT=/usr/lib/arm-tslib 
export TSLIB_CONSOLEDEVICE=none 
export TSLIB_FBDEVICE=/dev/fb0 
export TSLIB_TSDEVICE=/dev/input/event1 
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf 
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts 
export TSLIB_CALIBFILE=/etc/pointercal 
export  LD_PRELOAD=$TSLIB_ROOT/lib/libts.so

export QT_ROOT=/usr/lib/arm-qt 
export QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/event1 
export QT_QPA_FONTDIR=/usr/share/fonts 
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins 
export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0 
export QT_PLUGIN_PATH=$QT_ROOT/plugins 
export LD_LIBRARY_PATH=$QT_ROOT/lib:$QT_ROOT/plugins/platforms 
export QML2_IMPORT_PATH=$QT_ROOT/qml 
export QT_QPA_FB_TSLIB=1

然后使該配置立即生效:

source /etc/profile 

4 Qt運行測試

Qt的編譯文件中,自帶的Qt的一些例子,可以先來在板子上運行這些例子看看Qt程序能否在板子上正常運行。

這是運行其中的一個程序:

/usr/lib/arm-qt/examples/widgets/animation/animatedtiles/animatedtiles
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5082

    文章

    19104

    瀏覽量

    304810
  • Linux
    +關注

    關注

    87

    文章

    11292

    瀏覽量

    209328
  • 開發板
    +關注

    關注

    25

    文章

    5032

    瀏覽量

    97372
  • Qt
    Qt
    +關注

    關注

    1

    文章

    302

    瀏覽量

    37899
收藏 人收藏

    評論

    相關推薦

    如何在嵌入式Linux開發板上配置Qt運行環境

    本文基于I.MX6ULL芯片的Linux開發板,介紹如何在嵌入式Linux開發板上配置Qt運行環境
    發表于 10-10 09:56 ?2608次閱讀

    嵌入式linux部署qt的幾個疑問

    嵌入式linux部署qt幾個疑問在windows系統里編好的QT程序,經過交叉編譯后能直接運行
    發表于 10-27 09:47

    基于QT嵌入式linux圖形應用軟件設計

    嵌入式linux開發環境搭建嵌入式linux開發模型、li
    發表于 11-05 08:11

    Qt Creator For嵌入式Linux搭建流程

    Qt Creator For 嵌入式Linux搭建流程1.安裝QtCreator2.編譯Qt for embbed3.編譯gdb及gdbse
    發表于 11-05 08:15

    如何用QT開發嵌入式Linux工業平板界面免環境搭建

    環境搭建如何用QT開發嵌入式Linux工業平板界面免環境
    發表于 12-21 07:48

    QT嵌入式環境搭建

    ,我個人也已經使用了很長一段時間的 qt5.6 for windows ,本文就來介紹一下QT嵌入式環境搭建。 移植以到 JZ2440
    發表于 12-24 07:26

    基于Qt嵌入式Linux通訊簿程序設計

      摘 要: 隨著嵌入式系統的發展,在Linux 下使用Qt 開發嵌入式應用程序嵌入式圖形用戶
    發表于 11-23 11:31 ?3601次閱讀

    嵌入式linux GUI-Qt解析

    職業培訓班》二期課程中嵌入式linux應用開發方面的重要內容。不少學員對QT方面的內容比較關注,所以在這里我們先對QT做一下簡單介紹。 QT
    發表于 11-01 16:53 ?1次下載

    嵌入式linux應用開發之QT

    隨著linux系統及基于linux系統的嵌入式產品的蓬勃發展,QtQt/Embedded、Qtopia的字樣越來頻繁的出現在我們面前。
    發表于 11-06 14:05 ?4次下載

    嵌入式linux安裝qt

    嵌入式linux部署qt幾個疑問在windows系統里編好的QT程序,經過交叉編譯后能直接運行
    發表于 10-20 18:06 ?6次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b>安裝<b class='flag-5'>qt</b>

    嵌入式LinuxQt

    嵌入式LinuxQt嵌入式LinuxQt配置特定設備嵌入
    發表于 11-01 17:06 ?3次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>的<b class='flag-5'>Qt</b>

    嵌入式LinuxQT版本,嵌入式Linux版本Qt5.4快速部署

    (Toradex Apalis iMX6)基于Embedded Linux快速部署做較詳細說明。嵌入式Linux版本Qt5.4快速部署--- by Toradex 秦海
    發表于 11-01 17:20 ?0次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>的<b class='flag-5'>QT</b>版本,<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>版本<b class='flag-5'>Qt</b>5.4快速部署

    嵌入式Linux應用程序開發-(1)第一個嵌入式QT應用程序

    開發環境,請參考以下帖子: 嵌入式Linux開發環境搭建-(5)安裝和配置Qt Creat
    發表于 11-01 17:21 ?16次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>應用<b class='flag-5'>程序</b>開發-(1)第一個<b class='flag-5'>嵌入式</b><b class='flag-5'>QT</b>應用<b class='flag-5'>程序</b>

    嵌入式linux安裝qt,嵌入式Linux版本Qt5.4快速部署

    (Toradex Apalis iMX6)基于Embedded Linux快速部署做較詳細說明。嵌入式Linux版本Qt5.4快速部署--- by Toradex 秦海
    發表于 11-02 10:51 ?0次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b>安裝<b class='flag-5'>qt</b>,<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>版本<b class='flag-5'>Qt</b>5.4快速部署

    嵌入式Linux開發環境搭建-(5)安裝和配置Qt Creator開發工具

    運行環境,后續的應用程序開發,會涉及到嵌入式 QT 界面程序設計,因此,在 ubuntu
    發表于 11-02 11:51 ?10次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>開發<b class='flag-5'>環境</b><b class='flag-5'>搭建</b>-(5)安裝和配置<b class='flag-5'>Qt</b> Creator開發工具
    主站蜘蛛池模板: 国产免费人成在线视频视频| 熟女人妻水多爽中文字幕| 国内精品不卡一区二区三区| 成人啪啪色婷婷久色社区| www.av色| 拔擦拔擦8X永久华人免费播放器| 91原创在线| 91久久99久91天天拍拍| 2012中文字幕手机在线| 最新国自产拍 高清完整版| 伊人久99久女女视频精品免| 一边亲着一面膜下的免费过程| 亚洲日本天堂在线| 一边捏奶头一边啪高潮会怎么样| 一级做a爰片久久毛片苍井优| 亚洲日本香蕉视频观看视频| 亚洲中文字幕日产乱码2020| 亚洲日本欧美天堂在线| 战狼4在线观看完免费完整版| 中国女人逼| GOGOGO高清免费播放| 啊灬啊别停灬用力啊在线观看视频| WWW久久只有这里有精品| 成人a毛片久久免费播放 | 日产久久视频| 91久久精品一区二区三区| 影音先锋色av男人资源网| 18和谐综合色区| 9久爱午夜视频| 多男同时插一个女人8p| 高清欧美一区二区三区| 国产午夜婷婷精品无码A片| 精品久久久99大香线蕉| 久久亚洲黄色| 欧美日韩黄色| 香蕉久久一区二区三区啪啪| 亚洲欧美日韩在线码不卡 | 日韩精品一区二区中文| 色偷偷超碰97人人澡人人| 午夜日韩久久影院| 永久免费的污视频网站|