3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM)

这篇具有很好参考价值的文章主要介绍了3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.Ubuntu Qt 配置交叉编译环境

1.1 ubuntu 20.04安装Qt

sudo apt-get install qtcreator

1.2 配置QT

3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

 3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

 GCC配置同上

3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

 3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

最后配置Kits

3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

上面设置完成之后 ,设置Kits 中的Device(这是为了能够直接把项目部署到arm设备上)

3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

 3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

 3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

 点击NEXT之后会出现连接被拒绝,不用担心 ,下面会对其设置密码。

3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT验证arm设置的密码。

 3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

 3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

 3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

 1.3 创建Qt项目

3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

 3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

 3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

 3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

 3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

 3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

代码:

此代码是抄的别人的,具体是哪位博主的,忘记了。如果该博主看到了 请@下我,我会把连接附上

main.cpp

#include "widget.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();
    return a.exec();
}

widget.cpp

#include "widget.h"
#include<QPainter>
#include<QTimer>
#include<QTime>
#include<QString>
#include<QVector>
#include<QMap>
#define CLOCK_RADIUS (80) //时钟的半径

#define PANEL_RADIUS_NUM (3) //表盘的3个圆

#define PANEL_RADIUS1 CLOCK_RADIUS //圆1的半径

#define PANEL_RADIUS2 (CLOCK_RADIUS - 6) //圆2的半径

#define PANEL_RADIUS3 (CLOCK_RADIUS - 8) //圆3的半径

#define HOUR_NUM_SIZE (10) //小时数字的字体大小

//3个表针的形状(三角形)

static QPoint hourHand[3] = {
    QPoint(5, 3),
    QPoint(-5, 3),
    QPoint(0, -30)
};

static QPoint minuteHand[3] = {
    QPoint(4, 6),
    QPoint(-4, 6),
    QPoint(0, -45)
};

static QPoint secondHand[3] = {
    QPoint(2, 10),
    QPoint(-2, 10),
    QPoint(0, -60)
};

//表针与刻度颜色

static QColor hourColor(255, 0, 0);

static QColor minuteColor(0, 0, 255);

static QColor secondColor(0, 255, 0);

//表盘参数

struct panelPara{
    int radius;
    QColor color;
};
//圆的半径与对于的颜色

static panelPara stPanelParaArr[] = {
   {PANEL_RADIUS1, QColor(255, 200, 100)},
   {PANEL_RADIUS2, QColor(164, 211, 238)},
   {PANEL_RADIUS3, QColor(255, 255, 255)},
};

Widget::Widget(QWidget *parent)
   : QWidget(parent)
{
    QTimer *timer = new QTimer(this);
    connect(timer, SIGNAL(timeout()), this, SLOT(update()));
    timer->start(1000);
    setWindowTitle(tr("Clock"));
    setMinimumSize(200, 200); //设置最小尺寸

}

Widget::~Widget()
{
}

void Widget::paintEvent(QPaintEvent *event)
{
    int side = qMin(width(), height());
    QTime time = QTime::currentTime();
    QPainter painter(this);
    painter.setRenderHint(QPainter::Antialiasing);
    painter.translate(width()/2, height()/2); //画图的基准位置

    painter.scale(side/200.0, side/200.0); //随窗口尺寸自动缩放

    //表盘

    for (int i=0; i<PANEL_RADIUS_NUM; i++)
   {
        QBrush brush(stPanelParaArr[i].color);
        QPen pen(stPanelParaArr[i].color);
        painter.setBrush(brush);
        painter.setPen(pen);
        painter.drawEllipse(-stPanelParaArr[i].radius, -

stPanelParaArr[i].radius, 2*stPanelParaArr[i].radius, 

2*stPanelParaArr[i].radius);
   }
    //小时的表针

    painter.setPen(Qt::NoPen);
    painter.setBrush(hourColor);
    painter.save();
    painter.rotate(30.0 * ((time.hour() + time.minute() / 60.0)));
    painter.drawConvexPolygon(hourHand, 3);
    painter.restore();
    //小时的刻度

    painter.setPen(hourColor);
    for (int i = 0; i < 12; ++i)
{
        painter.rotate(30.0);
        painter.drawLine(PANEL_RADIUS3-6, 0, PANEL_RADIUS3, 0);
        QFont font("TimesNewRoman", HOUR_NUM_SIZE);
        painter.setFont(font);
        painter.drawText(-HOUR_NUM_SIZE, -(CLOCK_RADIUS-15), 2*HOUR_NUM_SIZE, 

2*HOUR_NUM_SIZE, Qt::AlignHCenter, QString::number(i+1));
   }
    //分钟的表针

    painter.setPen(Qt::NoPen);
    painter.setBrush(minuteColor);
    painter.save();
    painter.rotate(6.0 * (time.minute() + time.second() / 60.0));
    painter.drawConvexPolygon(minuteHand, 3);
    painter.restore();
    painter.setPen(minuteColor);
    for (int j = 0; j < 60; ++j)
   {
        if ((j % 5) != 0)
       {
            painter.drawLine(PANEL_RADIUS3-4, 0, PANEL_RADIUS3, 0);
       }
        painter.rotate(6.0);
   }
    //秒钟的表针

    painter.setPen(Qt::NoPen);
    painter.setBrush(secondColor);
    painter.save();
    painter.rotate(6.0 * time.second());
    painter.drawConvexPolygon(secondHand, 3);
    painter.restore();
    painter.end();
}

widget.h

#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>

class Widget : public QWidget

{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
    void paintEvent(QPaintEvent *event);
};

#endif // WIDGET_H

配置 clock.pro ,在pro文件添加下面代码。

#要部署的到ARM设备上的目录

target.path=/opt/arm #安装目标文件

INSTALLS+=target

先对项目进行编译,再把项目发布到 arm设备。

3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

 上面项目部署之后,登陆arm设备进到对应的目录下查看代码。

3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

 查看生成的文件 格式, 为arm aarch 64 正是arm 设备运行的文件 。

 3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

 执行命令运行程序,如下

nvidia@ubuntu:/opt/clock/bin$ ./clock

 3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

 

2.windows下使用visual studio或qt进行

arm linux程序开发环境搭建

2.1 创建项目

3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT 

 3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

 3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

 3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

 3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

 widget.cpp

#include "widget.h"
#include "ui_widget.h"
#include<QPainter>
#pragma execution_character_set("utf-8")

Widget::Widget(QWidget *parent) :
   QWidget(parent),
   ui(new Ui::Widget)
{
   ui->setupUi(this);
   connect(&timer, SIGNAL(timeout()), this, SLOT(timeout_slot()));
   connect(&timer, SIGNAL(timeout()), this, SLOT(update()));
   connect(ui->Btn_Reset, SIGNAL(clicked()), this, SLOT(update()));
   time.setHMS(0,0,0,0);
   ui->Txt_ShowTime->setText("00:00:00");
   ui->Btn_Start->setChecked(false);
   ui->Btn_Reset->setEnabled(false);
   ui->Btn_Hit->setEnabled(false);
}
Widget::~Widget()
{
   delete ui;
}
void Widget::timeout_slot()
{
   //qDebug("hello");
   QTime nowTime = QTime::currentTime();
   time = time.addMSecs(lastTime.msecsTo(nowTime));
   lastTime = nowTime;
   ui->Txt_ShowTime->setText(time.toString("mm:ss.zzz"));
}
void Widget::on_Btn_Start_toggled(bool checked)
{
    if (checked)
   {
       timer.start(ADD_TIME_MSEC);
       lastTime = QTime::currentTime();//记录时间戳

       ui->Btn_Start->setText("暂停");
       ui->Btn_Reset->setEnabled(false);
       ui->Btn_Hit->setEnabled(true);
   }
    else

   {
       timer.stop();
       ui->Btn_Start->setText("继续");
       ui->Btn_Reset->setEnabled(true);
       ui->Btn_Hit->setEnabled(false);
   }
}
void Widget::on_Btn_Reset_clicked()
{
   m_iHitCnt = 0;
   timer.stop();
   time.setHMS(0,0,0,0);
   ui->Txt_ShowTime->setText("00:00:00");
   ui->Txt_ShowItem->clear();
   ui->Btn_Start->setText("开始");
   ui->Btn_Start->setChecked(false);
   ui->Btn_Reset->setEnabled(false);
   ui->Btn_Hit->setEnabled(false);
}
void Widget::on_Btn_Hit_clicked()
{
   QString temp;
   m_iHitCnt++;
   temp.sprintf("--计次 %d--", m_iHitCnt);
   ui->Txt_ShowItem->setFontPointSize(9);
   ui->Txt_ShowItem->append(temp);
   ui->Txt_ShowItem->setFontPointSize(12);
   ui->Txt_ShowItem->append(time.toString("[mm:ss.zzz]"));
}
//------------------

#define CLOCK_RADIUS (90) //时钟的半径

#define PANEL_RADIUS_NUM (3) //表盘的3个圆

#define PANEL_RADIUS1 CLOCK_RADIUS //圆1的半径

#define PANEL_RADIUS2 (CLOCK_RADIUS - 6) //圆2的半径

#define PANEL_RADIUS3 (CLOCK_RADIUS - 8) //圆3的半径

#define PANEL_RADIUS4 (40) //内圆的半径

#define SEC_NUM_SIZE (10) //小时数字的字体大小

#define MIN_NUM_SIZE (7) //分钟数字的字体大小

//3个表针的形状(三角形)

static QPoint minuteHand[3] = {
QPoint(2, 6),
   QPoint(-2, 6),
   QPoint(0, -45)
};
static QPoint secondHand[3] = {
   QPoint(2, 8),
   QPoint(-2, 8),
   QPoint(0, -85)
};
//表针与刻度颜色

static QColor secondColor(0, 0, 255);
static QColor minuteColor(0, 0, 0);
//表盘参数

struct panelPara{
   int radius;
   QColor color;
};
//圆的半径与对于的颜色

static panelPara stPanelParaArr[] = {
   {PANEL_RADIUS1, QColor(255, 200, 100)},
   {PANEL_RADIUS2, QColor(164, 211, 238)},
   {PANEL_RADIUS3, QColor(255, 255, 255)},
};
void Widget::paintEvent(QPaintEvent *event)
{
   int side = qMin(width(), height());
   //QTime time = QTime::currentTime();
   QPainter painter(this);
   painter.setRenderHint(QPainter::Antialiasing);
   painter.translate(width()/3, height()*2/5); //画图的基准位置

   painter.scale(side/300.0, side/300.0); //随窗口尺寸自动缩放

   //表盘(3个同心圆)
    for (int i=0; i<PANEL_RADIUS_NUM; i++)
   {
       QBrush brush(stPanelParaArr[i].color);
       QPen pen(stPanelParaArr[i].color);
       painter.setBrush(brush);
       painter.setPen(pen);
       painter.drawEllipse(-stPanelParaArr[i].radius, -stPanelParaArr[i].radius, 

2*stPanelParaArr[i].radius, 2*stPanelParaArr[i].radius);
   }
   //秒的刻度

   painter.setPen(secondColor);
    for (int i = 0; i < 60; i++)
   {
        if ((i % 5) == 0)
       {
           painter.drawLine(PANEL_RADIUS3-8, 0, PANEL_RADIUS3, 0);
           QFont font("TimesNewRoman", SEC_NUM_SIZE);
           painter.setFont(font);
           painter.drawText(-SEC_NUM_SIZE, -(CLOCK_RADIUS-15), 2*SEC_NUM_SIZE, 

2*SEC_NUM_SIZE, Qt::AlignHCenter, QString::number(i==0? 60 : i));
}
        else

       {
           painter.drawLine(PANEL_RADIUS3-5, 0, PANEL_RADIUS3, 0);
       }
       //秒再细分5个格

        for (int j = 0; j < 5; j++)
       {
           painter.rotate(6.0/5);
            if (j != 4)
           {
               painter.drawLine(PANEL_RADIUS3-2, 0, PANEL_RADIUS3, 0);
           }
       }
   }
   //分钟的刻度

   painter.setPen(minuteColor);
    for (int k = 0; k < 30; k++)
   {
        if ((k % 5) == 0)
       {
           painter.rotate(-90.0);
           painter.drawLine(PANEL_RADIUS4-8, 0, PANEL_RADIUS4, 0);
           painter.rotate(90.0);
           QFont font("TimesNewRoman", MIN_NUM_SIZE);
           painter.setFont(font);
           painter.drawText(-MIN_NUM_SIZE, -(PANEL_RADIUS4-10), 2*MIN_NUM_SIZE, 

2*MIN_NUM_SIZE, Qt::AlignHCenter, QString::number(k==0? 30 : k));
       }
        else

       {
           painter.rotate(-90.0);
           painter.drawLine(PANEL_RADIUS4-4, 0, PANEL_RADIUS4, 0);
           painter.rotate(90.0);
       }
       painter.rotate(12.0);
   }
   //分钟的表针

   painter.setPen(Qt::NoPen);
   painter.setBrush(minuteColor);
   painter.save();
   painter.rotate(12.0 * (time.minute() + time.second() / 60.0));
   painter.drawConvexPolygon(minuteHand, 3);
   painter.restore();
   //秒钟的表针

   painter.setPen(Qt::NoPen);
   painter.setBrush(secondColor);
   painter.save();
   //painter.rotate(6.0 * time.second());
   painter.rotate(6.0 * (time.second()+time.msec()/1000.0));
   painter.drawConvexPolygon(secondHand, 3);
   painter.restore();
   painter.end();
}

widget.h

#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QTimer>
#include <QTime>
#include <QDebug>
#define ADD_TIME_MSEC 30

namespace Ui {
class Widget;
}
class Widget : public QWidget
{
   Q_OBJECT
public:
   explicit Widget(QWidget *parent = nullptr);
   ~Widget();
   void paintEvent(QPaintEvent *event);
   QTimer timer;
   QTime time;
   QTime lastTime;
private slots:
   void on_Btn_Start_toggled(bool checked);
   void timeout_slot();
   void on_Btn_Reset_clicked();
   void on_Btn_Hit_clicked();
private:
   Ui::Widget *ui;
   int m_iHitCnt = 0;
};

#endif // WIDGET_H

main.cpp

#include "widget.h"
#include <QApplication>

int main(int argc, char *argv[])
{
   QApplication a(argc, argv);
   Widget w;
   w.show();
   return a.exec();
}

 2.2 运行项目

 3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

 2.3把文件移动到Linux下

在win下编译通过之后,把文件 main.cpp timer.pro widget.cpp widget.h widget.ui 移动到

Linux 下

3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

 用编译源码生成的 qmake(前面2. Linux Server 20.04 Qt5.14.2配置Jetson Orin Nano Developer Kit 交叉编译环境 生成的qmake) 进行对 timer.pro 文件进行编译

/opt/Qt5JetsonOrinNano/sysroot/usr/local/Qt5JetsonOrinNano/bin/qmake timer.pro

之后会生成 Makefile 文件

3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT再执行 make 命令

3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

 生成 .o 文件

 3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

 输入命令 file timer 查看生成的 timer 文件 类型

3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

 把文件拷贝到 arm 设备

scp ./timer nvidia@192.168.20.230:/home/nvidia/Downloads/test/time

3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

 3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM),Jetson Orin Nano,ubuntu,qt,arm开发,Jetson,JetsonOrinNano,ubuntu交叉编译QT

 

sudo vim /etc/profile

#加入下面5行代码 

export QT_DEBUG_PLUGINS=1

export QTDIR=/usr/local/Qt5JetsonOrinNano#编译的源码

export LD_LIBRARY_PATH=/usr/local/Qt5JetsonOrinNano/lib:$LD_LIBRARY_PATH

export QT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins

export QT_QPA_PLATFORM=xcb#编译源码时加入的显示模块 -xcb

sudo source /etc/profile

 文章来源地址https://www.toymoban.com/news/detail-669342.html

到了这里,关于3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Nvidia Jetson Orin 开发板配置开发环境

    参考文档:(官方)https://developer.nvidia.com/embedded/learn/get-started-jetson-agx-orin-devkit Check your L4T version first to see if you have a unit flashed with older version of the BSP. You may get something like this, # R34 (release), REVISION: 1.0, GCID: 30102743, BOARD: t186ref, EABI: aarch64, DATE: Wed Apr 6 19:11:41 UTC 2022, and this show

    2024年02月07日
    浏览(51)
  • x86架构ubuntu 搭建arm64交叉编译环境及QT编译arm64架构工程

    背景:由于最近项目需要做国产系统适配,很多软件需要重新编译以适配不同架构CPU。 环境: 1、主机win10 64bit   vmware虚拟主机ubuntu1804 64bit 2、vmware虚拟主机已经安装了qt5.14.2及qt_create4.11.1 一、C/C++程序交叉编译 1、交叉编译环境搭建 ①选定编译工具aarch64-linux-gnu ②安装交叉

    2024年02月09日
    浏览(65)
  • Ubuntu20.4配置arm交叉编译环境

    我是在虚拟机中配置的,如果你的嵌入式设备足够完成自己的编译,可以不考虑虚拟机的。 新安装的Ubuntu20.04系统请先执行以下代码 到aarch64下载对应的aarch64的base镜像。 之后执行如下命令,创建armsys文件夹,之后将刚下载的镜像拷贝到该文件夹下并且解压 安装一些必要的软

    2024年02月06日
    浏览(53)
  • Linux-Arm环境下配置编译qt-everywhere及交叉编译环境

    最近在搞交叉编译的事,手上拿了个同事的香橙派玩交叉编译,现在来到了第一步,就是先在arm上配置qt的开发环境。当然了Qt没有直接提供qt on arm,而是需要自行在arm环境下编译一个qt环境出来,所以这里需要使用到qt提供的qt everywhere套件在板载系统上编译 移植Qt到ARM平台及

    2024年04月11日
    浏览(52)
  • RK3568开发笔记(七):在宿主机ubuntu上搭建Qt交叉编译开发环境,编译一个Demo,目标板运行Demo测试

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/132733901 红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中… 上一篇:《RK3568开发笔记(六):

    2024年02月07日
    浏览(63)
  • 【在英伟达nvidia的jetson-orin-nx和PC电脑ubuntu20.04上-装配ESP32开发调试环境-基础测试】

    最近在使用一直在调试ESP32,作为新手,也有很多不懂的地方,一点点慢慢学,开始是装的win环境,后来又尝试了jetson-orin-nx和ubuntu上,在Linux 下开发都习惯使用命令行,但是在Windows下习惯使用软件点,而调试esp32的话,还是建议使用命令行形式。 当然说得有点远了,本次主要

    2024年02月08日
    浏览(42)
  • 【树莓派Linux内核开发】入门实操篇(虚拟机Ubuntu环境搭建+内核源码获取与配置+内核交叉编译+内核镜像挂载)

    1.ubuntu18.04镜像下载 打开ubuntu18.04镜像传送门,进入到主页 往下滑,找到相应镜像并下载 等待镜像下载完毕即可 2.VMware软件安装 VMware是一款 运行在windows系统上的虚拟机软件 ,可以虚拟出一台计算机硬件,方便安装各类操作系统 进入VMware官网传送门,来到主页,往下滑,选

    2024年04月29日
    浏览(56)
  • iTOP-RK3588开发板Ubuntu 系统交叉编译 Qt 工程-命令行交叉编译

    使用源码 rk3588_linux/buildroot/output/rockchip_rk3588/host/bin/qmake 交叉编译 QT 工程。 最后烧写编译好的 buildroot 镜像,将编译好的 QT 工程可执行程序在 buildroot 系统上运行。 交叉编译 QT 工程如下所示,首先进入 QLed 的工程目录下。 然后使用以下命令交叉编译 QT 工程,如下图所示:

    2024年02月13日
    浏览(41)
  • 嵌入式Linux Qt交叉编译环境搭建

    TinkerBoard2主板,BuildRoot根文件系统,package自带的Qt版本为5.14.2,所以安装的版本也是5.14.2 安装的组件看个人需求,我都要了 默认安装路径/opt/Qt5.14.2/ 源码路径/opt/Qt5.14.2/5.14.2/Src/ 安装后选定的打包工具路径/opt/Qt5.14.2/5.14.2/(我的默认有gcc_64和android) 这种方法容易导致version `G

    2024年01月25日
    浏览(53)
  • ubuntu交叉编译Qt-5库并移植ARM开发板

    前言:本文将介绍Qt5源码方式的交叉编译及安装 下载源码包:qt-everywhere-src-5.12.8.tar.xz 官网下载网址:Index of / 依次选择: 【official_releases】 =【qt】 =【5.12】 =【5.12.8】 =【single】 =【qt-everywhere-src-5.12.8.tar.xz】 先解压QT库压缩包出来,并进入解压出来的库目录。 接下来请按以

    2023年04月08日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包