轉(zhuǎn)帖|使用教程|編輯:龔雪|2022-08-22 09:54:34.337|閱讀 281 次
概述:本文將為大家介紹如何在Visual Studio中創(chuàng)建嵌入式Qt Quick應(yīng)用程序,歡迎加入社群一起交流討論!
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
Qt Visual Studio Tools現(xiàn)在支持Qt項(xiàng)目的交叉編譯了。這個(gè)功能歸功于Qt / MSBuild和Linux development VS workload的集成。本文將展示如何在Visual Studio中使用Qt Quick創(chuàng)建嵌入式應(yīng)用程序。
Qt技術(shù)交流群:166830288 歡迎一起進(jìn)群討論
我們將開(kāi)發(fā)一個(gè)在鏡像屏幕上顯示公共信息的應(yīng)用程序。它會(huì)運(yùn)行在休息區(qū)、洗手間里的嵌入式Linux設(shè)備上。本文將使用樹(shù)莓派3 ModelB,操作系統(tǒng)是Raspbian(Buster)。
開(kāi)發(fā)主機(jī)是一臺(tái)Windows 10計(jì)算機(jī)。必須安裝Visual Studio 2019,包括桌面開(kāi)發(fā)和Linux開(kāi)發(fā)的工作組件。
我們將在Windows Subsystem for Linux(WSL)的實(shí)例中運(yùn)行交叉編譯器。設(shè)置開(kāi)發(fā)環(huán)境的下一步是啟用WSL并安裝Linux發(fā)行版。然后應(yīng)該可以打開(kāi)終端窗口并運(yùn)行Linux命令。
要使用Qt Visual Studio Tools,必須安裝一套Qt for Windows。這樣,開(kāi)發(fā)計(jì)算機(jī)上也能運(yùn)行應(yīng)用程序,達(dá)到測(cè)試目的。
現(xiàn)在,我們可以繼續(xù)設(shè)置交叉編譯器,即可以安裝預(yù)構(gòu)建的工具鏈,也可以編譯自己的工具鏈。如果一切順利,我們應(yīng)該能夠在設(shè)備上運(yùn)行一個(gè)簡(jiǎn)單的程序。
我們準(zhǔn)備為樹(shù)莓派構(gòu)建Qt。為此,我們將遵循以下教程“RaspberryPi2EGLFS — A modern guide for cross-compiling Qt for HW accelerated OpenGL with eglfs on Raspbian and setting up Qt Creator”。構(gòu)建完成后,我們就能夠在樹(shù)莓派上運(yùn)行Qt應(yīng)用程序示例。
在IDE中安裝Qt Visual Studio Tools,打開(kāi)Extensions > Manage Extensions。搜索“qt”:結(jié)果應(yīng)顯示“Qt Visual Studio Tools”擴(kuò)展;選擇它,然后點(diǎn)擊“Download”。關(guān)閉VS,按照安裝說(shuō)明進(jìn)行操作。重新打開(kāi)VS后,Qt Visual Studio Tools就可以使用了。
要使用Qt Visual Studio Tools,我們必須首先注冊(cè)將使用的Qt版本。我們將從注冊(cè)Qt for Windows開(kāi)始。
現(xiàn)在,我們將注冊(cè)存放在WSL實(shí)例中的Qt的交叉編譯版本。
注冊(cè)將要使用的Qt版本后,我們可以創(chuàng)建一個(gè)Qt項(xiàng)目。
點(diǎn)擊“Finish”完成項(xiàng)目創(chuàng)建向?qū)Аisual Studio現(xiàn)在應(yīng)該顯示新的多平臺(tái)Qt Quick項(xiàng)目。選擇Windows配置,然后按F5鍵構(gòu)建并運(yùn)行該應(yīng)用程序。然后應(yīng)顯示一個(gè)帶有“Hello World”標(biāo)題的空窗口。
使用WSL實(shí)例運(yùn)行交叉編譯器比使用SSH連接到構(gòu)建主機(jī)更快。使用SSH時(shí),MSBuild必須首先將源文件上傳到遠(yuǎn)程主機(jī)。另一方面,WSL將在/mnt掛載本地驅(qū)動(dòng)器,從而使文件訪問(wèn)瞬間完成。這種情況下,MSBuild將Windows路徑映射到/mnt中相對(duì)應(yīng)的Linux路徑,例如:
MSBuild假定屬性頁(yè)中提供的路徑是本地路徑,并自動(dòng)將它們映射到/mnt。在屬性頁(yè)中使用Linux絕對(duì)路徑時(shí),這可能導(dǎo)致錯(cuò)誤的映射,例如:
為了避免該問(wèn)題,我們將在/mnt中創(chuàng)建符號(hào)鏈接,映射到到WSL實(shí)例文件系統(tǒng)中其他頂級(jí)目錄。
現(xiàn)在準(zhǔn)備好交叉編譯項(xiàng)目了。選擇一個(gè)Linux配置,按F7開(kāi)始構(gòu)建。
Visual Studio Build Output 1>------ Rebuild All started: Project: QuickMirror, Configuration: Release_RPi x64 ------ 1>Invoking 'mkdir -p $(dirname /mnt/c/Users/user/Source/Repos/QuickMirror/obj/x64/Release_RPi/qmake/temp/props.txt); mkdir -p /mnt/c/Users/user/Source/Repos/QuickMirror/obj/x64/Release_RPi/qmake/temp; cd /mnt/c/Users/user/Source/Repos/QuickMirror/obj/x64/Release_RPi/qmake/temp; ("/home/user/raspi/qt5/bin/qmake" -query) 1> props.txt', working directory: '/mnt/c/Users/user/Source/Repos/QuickMirror' 1>Reading Qt configuration (/home/user/raspi/qt5/bin/qmake) 1>Invoking 'mkdir -p $(dirname /mnt/c/Users/user/Source/Repos/QuickMirror/obj/x64/Release_RPi/qmake/temp/qtvars.pro); mkdir -p $(dirname /mnt/c/Users/user/Source/Repos/QuickMirror/obj/x64/Release_RPi/qmake/temp/Makefile); mkdir -p $(dirname /mnt/c/Users/user/Source/Repos/QuickMirror/obj/x64/Release_RPi/qmake/temp/qtvars.log); mkdir -p /mnt/c/Users/user/Source/Repos/QuickMirror/obj/x64/Release_RPi/qmake/temp; cd /mnt/c/Users/user/Source/Repos/QuickMirror/obj/x64/Release_RPi/qmake/temp; ("/home/user/raspi/qt5/bin/qmake" "CONFIG -= debug release debug_and_release" "CONFIG += release" qtvars.pro) 1> qtvars.log 2>&1', working directory: '/mnt/c/Users/user/Source/Repos/QuickMirror' 1>rcc qml.qrc 1>Invoking 'mkdir -p $(dirname qml.qrc); mkdir -p $(dirname /mnt/c/Users/user/Source/Repos/QuickMirror/main.qml); mkdir -p $(dirname /mnt/c/Users/user/Source/Repos/QuickMirror/obj/x64/Release_RPi/rcc/qrc_qml.cpp); (/home/user/raspi/qt5/bin/rcc /mnt/c/Users/user/Source/Repos/QuickMirror/qml.qrc --name qml -o /mnt/c/Users/user/Source/Repos/QuickMirror/obj/x64/Release_RPi/rcc/qrc_qml.cpp)', working directory: '/mnt/c/Users/user/Source/Repos/QuickMirror' 1>Starting remote build
在VS中交叉編譯Qt項(xiàng)目 。
本文轉(zhuǎn)載自
Qt技術(shù)交流群:166830288 歡迎一起進(jìn)群討論
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: