Qt 的版本众多,交叉编译Qt可以下载 最新的 Qt 5.11,在 qtbase/mkspecs/devices/ 下找到你对应开发板的配置文件,

拷贝出来, 选择一版适用当前交叉编译工具链的版本,这里以  5.8.0版本的Qt 作为demo。

下载源码,qt-everywhere-opensource-src-5.8.0    下载地址    http://download.qt.io/archive/qt/

解压后 ,找到Qt 5.11.1中跟目标开发板最匹配的配置文件 ,我的是 qt-everywhere-opensource-src-5.8.0/qtbase/mkspecs/devices/linux-rcar-m3-g++   拷贝整个linux-rcar-m3-g++目录

到  Qt 5.8.0 对应的 devices/目录下,

source XXXXX交叉工具编译链

写一个 配置脚本build.sh  chmod 修改执行权限 。

#!/bin/bash
export ROOTFS=/apt/poky/2.1.2/sysroots/aarch64-poky-linux

./configure \
-opensource \
-confirm-license \
-v \
-skip qt3d \
-skip webchannel \
-skip location \
-prefix /home/Qt580/ \
-device linux-rcar-m3-g++ \
-device-option CROSS_COMPILE=/apt/poky/2.1.2/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux- \
-sysroot $ROOTFS \
-opengl es2 \

对于报错的模块可以选在skip 掉 。

执行build.sh 脚本 后,生成Makefile

make    长达一个多小时

make install  安装在 ROOTFS 的 /home/QT580中

Qt  Creator   下载  qt-opensource-linux-x64-5.8.0.run  还是之前的下载地址。

配置交叉编译环境。

工具栏   ----〉 Options   ----〉

左边栏 Build & Run  ,  配置   Compliers    -〉 Manual Add  -〉 GCC -〉 C/C++  全配置成/apt/poky/2.1.2/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++

配置Qt Versions   -〉 Manual       Add     配置   /apt/poky/2.1.2/sysroots/aarch64-poky-linux/home/Qt580/bin/qmake

配置  Kits   Compiles  选 配置的Manual GCC  ,Qt Version 选择 Menual Version

Apply

新建一个工程

Kit Selection  选择刚才配置 的KIt  名字    。

在 demo.pro 配置文件中 添加Opencv  库文件。(交叉编译好了)

INCLUDEPATH += /apt/poky/2.1.2/sysroots/aarch64-poky-linux/usr/include \
/apt/poky/2.1.2/sysroots/aarch64-poky-linux/usr/include/opencv \
/apt/poky/2.1.2/sysroots/aarch64-poky-linux/usr/include/opencv2

LIBS += \
/apt/poky/2.1.2/sysroots/aarch64-poky-linux/usr/lib/libopencv_*

编写代码

#include "mainwindow.h"
#include <QApplication>
#include <iostream>
#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main()
{
Mat frame0,frame1,frame2,frame3;
//frame=imread("/media/logo.bmp");
VideoCapture cap0(0);
VideoCapture cap1(1);
VideoCapture cap2(2);
VideoCapture cap3(3);
if(!cap0.isOpened())return 1;
if(!cap1.isOpened())return 1;
if(!cap2.isOpened())return 1;
if(!cap3.isOpened())return 1;
while(1){
if(!cap0.read(frame0))return 1;
if(!cap1.read(frame1))return 1;
if(!cap2.read(frame2))return 1;
if(!cap3.read(frame3))return 1;
resize(frame0,frame0,Size(640,480));
imshow("test0",frame0);
moveWindow("test0", 0, 0);
resize(frame1,frame1,Size(640,480));
imshow("test1",frame1);
moveWindow("test1",640,0);
resize(frame2,frame2,Size(640,480));
imshow("test2",frame2);
moveWindow("test2",0,480);
resize(frame3,frame3,Size(640,480));
imshow("test3",frame3);
moveWindow("test3",640,480);
waitKey(30);
}
//cout << "Hello world\n"<<endl;
// return 0;
// QApplication a(argc, argv);
// MainWindow w;
//w.show();

// return a.exec();
return 0;
}

配置 ,开发板环境变量  /etc/enviroment   添加  QT_QPA_PLATFORM=linuxfb  ( 还可以指明 那个fb 等等 )或者  程序后  加上  -platform=linuxfb  或者其他显示系统 wayland  X11 等等。

把交叉编译Qt的 产物 /plugins/platforms/  拷贝到程序执行目录下 。解决

failed to start because it could not find or load the Qt platform plugin "linuxfb"
in "".

完美执行。

ubuntu 环境 cross compile 交叉编译 ARM Qt 集成 opencv的更多相关文章

  1. linux cross toolsChain 交叉编译 ARM(转)

    转载请注明出处:http://blog.csdn.net/mybelief321/article/details/9076583 安装环境 Linux版本:Ubuntu 12.04    内核版本:L ...

  2. aarch64 cross compile 交叉编译 opencv

    需求 : linux host :  UBUNTU opencv source : opencv 3.3.1.zip CMAKE  :  apt-get install cmake cmake-qt- ...

  3. cross compile 交叉编译 ffmpeg

    ffmpeg 支持各种压缩格式的视频解码库,经常出现在各种播放器中,交叉编译也是一项麻烦的事情. 1. 下载ffmpeg 源码包   http://ffmpeg.org/releases/ffmpeg ...

  4. Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程

    Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程Linux版本:Ubuntu 12.04 内核版本:Linux 3.5.0 交叉编译器版本:arm-linux-gcc-4. ...

  5. Ubuntu系统下arm-linux-gcc交叉编译环境搭建过程

    搭建所需环境Linux版本:Ubuntu 14.10 交叉编译器版本:arm-linux-gcc-4.4.3资源链接 何为交叉编译环境搭建交叉编译环境,即安装.配置交叉编译工具链.在Ubuntu环境下 ...

  6. 解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)——ubuntu环境设置默认是utf-8,文件编码可使用Encodersoft批量转换

    一.Qt环境设置 文件从window上传到Ubuntu后会显示乱码,原因是因为ubuntu环境设置默认是utf-8,Windows默认都是GBK.Windows环境下,Qt Creator,菜单-&g ...

  7. 手把手教你安装QT集成开发环境(操作系统为ubuntu10.04)

    在安装QT集成开发工具包之前需要先安装build-essential和libncurses5-dev这两个开发工具和库,libncurses5-dev库是一个在Linux/Unix下广泛应用的图形函数 ...

  8. ubuntu 环境下的QT程序打包

    很多的时候 需要将自己写的QT 程序发布一下  所以今天教一下 怎么在ubuntu 环境下将自己的写的Qt 程序打包打包是为了不依赖 开发环境 和开发的库. 1. QtCreate使用Release版 ...

  9. 手把手教你安装QT集成开发环境(操作系统为ubuntu10.04,需要先安装build-essential和libncurses5-dev)

    在安装QT集成开发工具包之前需要先安装build-essential和libncurses5-dev这两个开发工具和库,libncurses5-dev库是一个在Linux/Unix下广泛应用的图形函数 ...

随机推荐

  1. 点击td对同行的其他td进行操作

    假设有这样的一段tr: <tr> <td><input type="checkbox" name="item" class=&qu ...

  2. mutt配置太繁琐,如果lz你只是单纯为了发邮件的话,其实用mailx就足以了

    mutt配置太繁琐,如果lz你只是单纯为了发邮件的话,其实用mailx就足以了 复制内容到剪贴板 代码: yum -y install mailx echo "Server  port fa ...

  3. 2019-9-2-win10-uwp-颜色转换

    title author date CreateTime categories win10 uwp 颜色转换 lindexi 2019-09-02 12:57:38 +0800 2018-2-13 1 ...

  4. Ansible--03 ansible 变量

    目录 Ansible 变量 变量概述 定义变量的方式 如何定义变量 Ansible变量优先级测试 变量注册 ansibl e层级定义变量 facts缓存 Ansible 变量 变量概述 变量提供了便捷 ...

  5. go语言从例子开始之Example21.协程

    Go 协程 在执行上来说是轻量级的线程. golang使用协程用go关键字.后边正常调用函数. Example: package main import "fmt" func ak ...

  6. java switch语句注意事项

    /* switch语句的使用注意事项: 1.多个case后面的数据不可以重复 2.switch后面的小括号当中只能是下列数据类型: 基本数据类型:byte . short.char.int 引用数据类 ...

  7. windows 安装 jenkins笔记

    Jenkins 所有镜像列表: http://mirrors.jenkins-ci.org/status.html 可在镜像网站上下载安装文件,比官方下载快些 jenkins 官网地址: https: ...

  8. Rectangle类详解

    一,概括: 乍一看,可能感觉是一个矩形类,矩形类就是画一个长方形吗??这是我一开始见到这个类的感觉. 其实不是的Rectangle是一个“区域”类,它的最大作用就是定义一个矩形的区域,如果问为什么是矩 ...

  9. djangorestframework-jwt 分页器 三种

    数据准备 # models class Teacher(models.Model): name = models.CharField(max_length=32) salary = models.De ...

  10. Python基础教程(012)--排查手误错误

    前言 排查由于手误书写错误的方法 内容 手动输入错误的时候,颜色是红色 函数名称写错 1,颜色不一样 2,nameError错误 掌握知识点 学会在写代码的时候排查错误