那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

搭建一種跨平臺(tái)qt5遠(yuǎn)程編譯環(huán)境

冬至子 ? 來源:ITRelief ? 作者:Sachefgh Xu ? 2023-07-25 15:05 ? 次閱讀

前言

所謂的跨平臺(tái)qt5遠(yuǎn)程編譯環(huán)境,就是實(shí)現(xiàn)在本機(jī)的VS上寫Qt程序,然后在遠(yuǎn)程的linux機(jī)器上進(jìn)行編譯,得到Qt的Gui或非GUI程序。

跟交叉編譯比起來,遠(yuǎn)程編譯不需要進(jìn)行復(fù)雜的交叉編譯工具配置;由于是自機(jī)編譯,也不會(huì)存在開發(fā)工具版本匹配問題,穩(wěn)定性高于交叉編譯;遠(yuǎn)程編譯的缺點(diǎn)也比較突出:目標(biāo)機(jī)需要安裝完整的開發(fā)工具,編譯速度會(huì)受到目標(biāo)機(jī)性能的嚴(yán)重限制。

簡言之,對(duì)于一些裝了Linux,但是性能有限、缺少相應(yīng)開發(fā)文檔、交叉編譯存在風(fēng)險(xiǎn)的機(jī)器/開發(fā)板,比如說來源不明的x86工控機(jī)、Orange/Banana Pi 這類仿照樹莓派的開發(fā)板,推薦通過遠(yuǎn)程編譯的方式進(jìn)行開發(fā)部署。

對(duì)于樹莓派、Tinker Board之類的開發(fā)板,VisualGDB提供了經(jīng)測試的交叉編譯工具、直接使用即可。

測試環(huán)境

開發(fā)環(huán)境:電腦(Win10 21H2,x64)+VS2019+VisualGDB5.6+Qt5.11, VS安裝了Qt插件

目標(biāo)環(huán)境:80收的工控機(jī),處理器為Atom D2550, 已經(jīng)安裝64位Debian11(帶GNOME圖形)。[關(guān)在上海兩個(gè)月了,條件艱苦,只能找到這么一臺(tái)機(jī)器了,唉]

一、目標(biāo)機(jī)準(zhǔn)備

1.開啟ssh并允許root登錄

VisualGDB在之后調(diào)試的時(shí)候如果用sudo的方式調(diào)試比較容易報(bào)錯(cuò),最好直接用root連接。

目標(biāo)機(jī)上:

nano /etc/ssh/sshd_config

用vim也可以,個(gè)人覺得nano比vim方便多了。修改以下項(xiàng):

PermitRootLogin yes #允許root登錄
PermitEmptyPasswords no #不允許空密碼登錄
PasswordAuthentication yes # 設(shè)置是否使用口令驗(yàn)證。
X11Forwarding yes #啟用遠(yuǎn)程圖形支持

重啟一下ssh服務(wù)

/etc/init.d/sshd retart

再測試一下用root連接目標(biāo)機(jī)。root登錄有風(fēng)險(xiǎn),以后機(jī)子要聯(lián)網(wǎng)使用的時(shí)候記得關(guān)

2.允許通過root登錄桌面

目標(biāo)機(jī)上:

nano /etc/gdm3/daemon.conf

在 [security] 下添加 AllowRoot=True,保存退出。

nano /etc/pam.d/gdm-password

把a(bǔ)uth required pam_succeed_if.so user != root quiet_success這行注釋掉。

保存退出,reboot一下機(jī)器,登錄的時(shí)候就可以用root賬戶了。

3.安裝編譯環(huán)境

①檢查一下sources.list,換一個(gè)靠譜點(diǎn)的鏡像源

②apt upgrade一下。

③安裝編譯工具:

apt install cmake
apt install build-essential

④qt5的開發(fā)工具:

apt install qt5-qmake
apt install qtbase5-dev
apt install qtdeclarative5-dev
apt install qtwebengine5-dev
apt install qml-module-qt-labs-platform

其他qt模塊可以在需要使用的時(shí)候按需安裝:

qtconnectivity5-dev qtmobility-dev qttools5-dev tmultimedia5-dev libqt5opengl5-dev qtpositioning5-dev tscript5-dev libqt5sensors5-dev libqt5serialport5-dev libqt5svg5-dev libqt5webkit5-dev libqt5x11extras5-dev libqt5xmlpatterns5-dev

qtcreator在目標(biāo)機(jī)上不需要,不用安裝。

⑤檢查安裝

qmake --version 檢查一下qt版本:

圖片

二、VS+VisualGDB創(chuàng)建項(xiàng)目

①VS創(chuàng)建項(xiàng)目界面選擇Linux Project Wizard:

圖片

②Project Type選擇:

圖片

③連接目標(biāo)機(jī):

圖片

④接下來是源文件的存儲(chǔ)方式,這里提供存儲(chǔ)在開發(fā)用的電腦(Windows)和存儲(chǔ)在目標(biāo)機(jī)上兩種選項(xiàng):

圖片

VisualGDB推薦的方式是把文件存在目標(biāo)機(jī)上,通過SSH取過來。但在開發(fā)GUI時(shí)會(huì)使用qtdesigner讀取.ui文件,實(shí)際使用時(shí)很容易出現(xiàn)同步錯(cuò)誤的情況,個(gè)人推薦還是本地存儲(chǔ),編譯時(shí)再上傳到目標(biāo)機(jī),配置方法:

圖片

注意:同步文件類型默認(rèn)沒有txt類型,需要手動(dòng)加上。如果不加就會(huì)導(dǎo)致CMakelists.txt無法同步,導(dǎo)致報(bào)錯(cuò)。

⑤選擇目標(biāo)機(jī)上IncludeDir:

※目標(biāo)機(jī)編譯需包含的內(nèi)容,也可以之后補(bǔ)充:

圖片

⑥完成項(xiàng)目創(chuàng)建

默認(rèn)創(chuàng)建的項(xiàng)目是帶ui的,不過可以比較方便地修改成console程序。

⑦運(yùn)行結(jié)果:

圖片

三、項(xiàng)目高級(jí)設(shè)置/工具

可右鍵項(xiàng)目打開VisualGDB屬性配置項(xiàng)目的高級(jí)選項(xiàng),推薦探索熟悉一下。

在調(diào)試選項(xiàng)中:

圖片

可以看到默認(rèn)Console輸出是連接到開發(fā)電腦的,GUI也是通過X Window輸出在開發(fā)電腦上(如果沒有安裝Xterm或XMing時(shí)VisualGDB會(huì)自動(dòng)下載安裝,很方便)。

但我們?cè)陂_發(fā)一些系統(tǒng)的時(shí)候,比如說收銀機(jī),會(huì)更希望在目標(biāo)機(jī)連接的屏幕上看到結(jié)果,在這里就可以修改選項(xiàng)。

注意:如果想在target上顯示GUI,要確保此時(shí)桌面系統(tǒng)以root登陸,否則調(diào)試時(shí)會(huì)報(bào)錯(cuò)。

VisualGDB提供了SSH Console工具,可以快速建立SSH連接、傳輸文件:

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19409

    瀏覽量

    231188
  • 工控機(jī)
    +關(guān)注

    關(guān)注

    10

    文章

    1753

    瀏覽量

    50815
  • Linux系統(tǒng)
    +關(guān)注

    關(guān)注

    4

    文章

    595

    瀏覽量

    27510
  • GUI系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    5934
  • 樹莓派
    +關(guān)注

    關(guān)注

    117

    文章

    1710

    瀏覽量

    105880
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【Rico Board試用體驗(yàn)】QT編譯環(huán)境搭建與hello mier實(shí)現(xiàn)

    最后安裝的時(shí)候安裝到 /media/data/myir/am335x/qt4.8.5 , 這個(gè)特別注意。后面搭建這個(gè)環(huán)境需要這個(gè)路徑,否則QT應(yīng)用程序會(huì)報(bào)錯(cuò) 。
    發(fā)表于 12-24 17:43

    beaglebone black + wireshark屏 + qt5

    最近淘了塊BBB板子和個(gè)微雪的4.3寸屏幕,打算移植QT5,由于QT5需要c++11的支持,所以用的編譯工具
    發(fā)表于 05-13 17:24

    【NanoPC-T3 Plus試用體驗(yàn)】安裝QT5&搭建個(gè)界面程序

    最近忙著春招面試,有段時(shí)間沒有更新帖子了,以后會(huì)陸續(xù)補(bǔ)上。由于項(xiàng)目中需要用到QT的程序,因此安裝QT5的軟件支持庫和QT開發(fā)環(huán)境是必須的:
    發(fā)表于 03-08 14:27

    Linux QT5程序編譯準(zhǔn)備源碼

    Linux QT5程序編譯準(zhǔn)備源碼  打開網(wǎng)盤到 5_MY-Demo,下載 MY-Linux-QT5-Demo-AboutUs-svn*.tar.bz2 文件,并復(fù)制到虛擬機(jī)。解壓源碼
    發(fā)表于 03-08 11:27

    qt creator編譯QT5應(yīng)用

    `編譯器:arm-poky-linux-gnueabi-gcc文件版本:L4115-fsl-image-qt5-myimx6a9.tar.bz21.交叉編譯工具安裝教程編譯工具:chm
    發(fā)表于 05-05 15:17

    Qt5遠(yuǎn)程是怎樣去調(diào)試ARM主機(jī)環(huán)境

    Qt5遠(yuǎn)程調(diào)試ARM主機(jī)環(huán)境:Ubuntu 18.04.4 LTS嵌入式環(huán)境:Linux 3.2.0Qt版本:Qt Creator 4.5.
    發(fā)表于 11-04 07:34

    如何利用Boot to Qt軟件包來實(shí)現(xiàn)Qt5

    關(guān)鍵詞:摘要:Qt個(gè)領(lǐng)先的平臺(tái)應(yīng)用和UI 開發(fā)框架(Framework),使用標(biāo)準(zhǔn)C++,適用于桌面,嵌入式和移動(dòng)平臺(tái)。本文著重就利用
    發(fā)表于 11-04 06:24

    對(duì)平臺(tái)Qt調(diào)試作個(gè)簡單的介紹

    Qt自帶調(diào)試功能,如果是主機(jī)上的程序可以直接調(diào)試,非常方便。同時(shí),Qt個(gè)平臺(tái)的編程語言,在主機(jī)上調(diào)試其他
    發(fā)表于 12-14 08:46

    怎樣去搭建一種RK3399 ARM QT開發(fā)環(huán)境

    怎樣去搭建一種RK3399 ARM QT開發(fā)環(huán)境呢?有哪些搭建步驟?
    發(fā)表于 03-07 06:57

    Qt5環(huán)境下如何配置OpenCV

    本文檔的主要內(nèi)容詳細(xì)介紹的是Qt5環(huán)境下如何配置OpenCV。
    發(fā)表于 11-22 16:53 ?17次下載
    <b class='flag-5'>Qt5</b><b class='flag-5'>環(huán)境</b>下如何配置OpenCV

    Qt5遠(yuǎn)程調(diào)試嵌入式linux

    Qt5遠(yuǎn)程調(diào)試ARM主機(jī)環(huán)境:Ubuntu 18.04.4 LTS嵌入式環(huán)境:Linux 3.2.0Qt版本:Qt Creator 4.5.
    發(fā)表于 11-01 17:06 ?22次下載
    <b class='flag-5'>Qt5</b><b class='flag-5'>遠(yuǎn)程</b>調(diào)試嵌入式linux

    Qt5 學(xué)習(xí)之路及嵌入式開發(fā)教程14:Qt5主窗口---界面設(shè)置

    Qt5 學(xué)習(xí)之路及嵌入式開發(fā)教程14:Qt5主窗口---界面設(shè)置這次任務(wù)要完成Qt5主窗口的界面設(shè)計(jì)Qt5主窗口布局及基本元素基本元素QMainWindow是
    發(fā)表于 11-03 09:51 ?12次下載
    <b class='flag-5'>Qt5</b> 學(xué)習(xí)之路及嵌入式開發(fā)教程14:<b class='flag-5'>Qt5</b>主窗口---界面設(shè)置

    QT5多個(gè)layoutWidget引起程序運(yùn)行出錯(cuò)

    QT5 多個(gè)layoutWidget 引起程序運(yùn)行出錯(cuò)
    發(fā)表于 11-19 09:23 ?891次閱讀

    我用STM32MP1做了個(gè)疫情監(jiān)控平臺(tái)2—Qt環(huán)境搭建

    Qt個(gè)平臺(tái)的應(yīng)用程序開發(fā)框架。使用Qt開發(fā)的應(yīng)用程序,只需要編寫套代碼,然后把這套代碼
    發(fā)表于 01-26 19:35 ?2次下載
    我用STM32MP1做了個(gè)疫情監(jiān)控<b class='flag-5'>平臺(tái)</b>2—<b class='flag-5'>Qt</b><b class='flag-5'>環(huán)境</b><b class='flag-5'>搭建</b>

    QT環(huán)境搭建教程

    QT套應(yīng)用程序開發(fā)類庫,但與MFC不同,QT平臺(tái)的開發(fā)類庫。
    的頭像 發(fā)表于 11-07 10:34 ?1370次閱讀
    百家乐网上娱乐城| 百家乐官网一拖三| 女神百家乐的玩法技巧和规则 | 金银岛百家乐官网的玩法技巧和规则| 德州扑克技巧视频| 百家乐游戏网址| 百家乐官网外挂程式| 金木棉百家乐的玩法技巧和规则 | 百家乐博彩免费体验金3| 百家乐真钱| 百家乐天下第一和| 百家乐官网汝河路| 富贵乐园棋牌游戏| 百家乐那个平台信誉高| 百家乐官网和的几率| 威尼斯人娱乐城代理合作| 做生意摆什么好招财| 百家乐官网庄闲的冷热| 大发888方官| 百家乐发牌的介绍| 澳门百家乐官网游戏皇冠网| 大发888游戏网址| 澳门百家乐搏牌规则| 棋牌百家乐官网程序破解| 大发888游戏平台17| 百家乐技术论坛| 百家乐官网赌博论坛在线| 迪威网上娱乐| 百家乐娱乐平台网77scs| 澳门百家乐官网网上娱乐场开户注册 | 网络百家乐漏洞| 皇冠代理网址| 百家乐真人娱乐平台| 阿玛尼百家乐官网的玩法技巧和规则| 工布江达县| 大发888娱乐日博备用| 澳门百家乐娱乐城怎么样| 百家乐官网娱乐网会员注册| 百家乐官网规则澳门| 德州扑克在线游戏| 新时代百家乐的玩法技巧和规则 |