Qt-4.7.2在dm365下的移植

2023-11-16

此篇为我的上一篇博客“Qt-4.7.2QtEmbedded-4.7.2ubuntu11.10下的安装”后续,主要参考:博客http://blog.chinaunix.net/uid-25652733-id-291521.html,同样,参照他的博客中关于dm365下的移植来做,我又遇到了新的问题,主要的问题出现在configure上,按照他的configure参数配置成arm版本的Qt库后,我编译的helloworld程序,在开发板上运行时,出现只显示一个绿底的小鼠标,同时CPU占用率高达97%的问题,后来在CSDN论坛里,发现导致这一问题的原因可能出现在configure上,configure中的某些配置参数可能在我的开发板环境下不支持,参照其他configure安装后,helloworld移植成功,步骤如下:

1.解压Qt源码包qt-everywhere-opensource-src-4.7.2.tar.gz~/QT/qt-everywhere-opensource-src-4.7.2目录后,进入该目录,拷贝~/QT/qt-everywhere-opensource-src-4.7.2/mkspecs/qws/linux-arm-g++目录至~/QT/qt-everywhere-opensource-src-4.7.2/mkspecs/qws/linux-dm365-g++,并修改~/QT/qt-everywhere-opensource-src-4.7.2/mkspecs/qws/linux-dm365-g++目录下的qmake.conf文件,修改所有的“arm-linux-”dm365的交叉编译工具链“arm_v5t_le-”(vi下可用“:%s/arm-linux-/arm_v5t_le-”替换功能)。

2.~/QT/qt-everywhere-opensource-src-4.7.2目录下,配置生成Makefile文件

$./configure -prefix /usr/local/Trolltech/QtEm-4.7.2-dm365_v2 -opensource -confirm-license -embedded arm -release -shared -fast -no-largefile -no-qt3support -qt-libtiff -qt-libpng -qt-libjpeg -make tools -nomake examples -nomake docs -nomake demos -no-cups -multimedia -xplatform qws/linux-dm365-g++ -no-qvfb -no-webkit

说明:

-prefix/usr/local/Trolltech/QtEm-4.7.2-dm365 (make install安装路径)

-opensource(自由版本)

-confirm-license(遵守协议)

-embeddedarm(嵌入式arm

-release(编译和链接Qt时关闭调试)

-shared(使用Qt动态库)

-fast(只对库及子目录make来快速配置Qt

-no-largefile(使大文件支持无效)

-no-qt3support(关闭Qt3支持功能)

-qt-libtiff(使用tiff库)

-qt-libpng(使用png库)

-qt-libjpeg(使用jjpeg库)

-maketools(编译tools

-nomakeexamples(不编译examples

-nomakedocs(不编译docs

-nomakedemos(不编译demos

-no-cups(不编译cups

-multimedia(编译Qt多媒体模块)

-xplatformqws/linux-arm-g++

-no-qvfb(不编译qvfb模块)

-no-webkit(不编译webkit

用了上面的configure后,我的helloworld测试程序在dm365开发板上就可以跑起来了,而且cpu占用率也低了下来,我没有仔细研究之前到底是哪一个参数导致的问题,另外,我的lcd不带触摸屏功能,因此没有加入触摸屏相关配置(原博客中有),而且我认为以后真正界面做起来后需要其他的功能可能还需要回来研究修改configure,总之一步一步边做边学,先把当前问题解决,继续向下,configure后就和之前在X11平台下安装一样了

$make

$make install(同样,make这步时间比较长,makeintsall可能需要加sudo

安装完成后,就可以在configure下指定的安装目录中看到安装文件了,我这里是/usr/local/Trolltech/QtEm-4.7.2-dm365

3.Qt库的移植及环境变量的配置

拷贝安装目录下lib库中的所有文件/usr/local/Trolltech/QtEm-4.7.2-dm365/libdm365开发板文件系统相对应的目录下,我这里是~/dm365/filesys/usr/local/Trolltech/QtEm-4.7.2-dm365/lib,建议将lib打包压缩后拷贝。修改开发板文件系统中/etc/profile文件,加入:

exportset QTDIR=/usr/local/Trolltech/QtEm-4.7.2-dm365

exportPATH=$QTDIR:$PATH

exportLD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

exportQWS_DISPLAY=LinuxFb:/dev/fb0

exportQWS_SIZE=320*240

exportQWS_DISPLAY="LinuxFb:mmWidth50:mmHeight65:0"

exportQWS_SW_CURSOR

exportQT_PLUGIN_PATH=$QTDIR/plugins/

exportQT_QWS_FONTDIR=$QTDIR/lib/fonts

到这里,Qt环境的移植工作就完成了,下面来进行测试。


4.同样使用我上一篇博客中的helloworld工程,当然也要先在“工具”-->“选项”-->“Qt4”-->“Qt版本”中设置新的qmake路径,方法在上一篇博客中介绍过,重新构建helloworld工程前同样需要在“项目”-->“构建设置”中选择Qt-4.7.2-dm365Qt版本,“运行设置”中添加参数“-qws”。编译好后将生成的helloworld工程目录拷贝到dm365开发板文件系统中,即可运行。

最后,要感谢csdnQt论坛里遇到过此类问题的前辈,看了你们的帖子才意识到问题的可能所在,尤其感谢ID为“zw545378330的朋友,给了我他的configure配置为参考。


Andy-Binary

donganwu0928@163.com


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt-4.7.2在dm365下的移植 的相关文章

  • 如何在 PySide/PyQt 中制作一个位于屏幕中央的小部件?

    这段代码有效 但我想知道是否有更简单的方法 def center self qr self frameGeometry cp gui QDesktopWidget availableGeometry center qr moveCenter
  • QTableView 选择已更改

    我有一个QTableView我需要从中获取选择更改事件 我似乎无法让连接工作 我有 MyWidget h protected slots void slotLoadTransaction const QItemSelection selec
  • 派生类在 PySide (Qt/PyQt) 中的错误线程中接收信号

    我在让派生类在 PySide 中正确接收信号时遇到问题 我在主 GUI 或命令行应用程序 线程的两个单独线程上使用发送器和接收器 线程是 QThread 对象 发送器和接收器在创建后立即使用 QObject moveToThread 移动到
  • 通过CMake实现Qt项目

    我正在尝试通过 Cmake 构建并运行非常简单且基本的 Qt 示例 删除 pro 文件 以下是Qt项目的代码 自动生成的Qt项目的目录结构为 Cmake my project name headers mainwindow h source
  • 另一个宏中的 Q_PROPERTY 宏

    如何放置Q PROPERTY另一个宏里面 辅助宏 define SimpleAllinOne member type public void Set member type arg member m member arg member ty
  • 如何将 QByteArray 转换为十六进制字符串?

    我有打击QByteArray QByteArray ba ba 0 0x01 ba 1 0x10 ba 2 0x00 ba 3 0x07 我真的不知道如何将此 QByteArray 转换为结果字符串 其中包含 01100007 我将使用 Q
  • 无法在 QGLWidget 中设置所需的 OpenGL 版本

    我正在尝试在 Qt 4 8 2 中使用 QGLWidget 我注意到 QGLWidget 创建的默认上下文不显示 OpenGL 3 1 以上的任何输出 Qt wiki 有一个教程 http qt project org wiki How t
  • 获取 QPushButton 在 2D 数组 QPushButton 上的索引

    我有一个二维数组QPushButton 当用户单击按钮时如何获取按钮的索引 例如当用户单击按钮时a 2 3 它会显示 2 3 该示例如下所示 Qt 4 5 使用对象名称 您可以为按钮指定唯一的对象名称 理想情况下 名称应该是有效的 C 标识
  • 仅在内部/外部抚摸路径?

    Given a QPainterPath http qt project org doc qt 4 8 qpainterpath html如何仅在路径的内侧或外侧边缘 或非闭合路径的左侧或右侧 描边路径 QPainter strokePat
  • Qt 人工鼠标点击无法正常工作

    小玩具应用程序可以在这里找到 http gist github com 517445 http gist github com 517445 我正在尝试将人工鼠标事件发送到小部件 我使用QApplication sendEvent为此 接下
  • QComboBox 下拉项边距

    我想设计我的风格QComboBox为下拉项目留出边距 现在是这样的 我想要这样的东西 我尝试过 QComboBox QAbstractItemView item margin 3px 但它不起作用 你能帮我解决这个问题吗 您想在项目之间设置
  • 如何在 OS X 上的 Qt 应用程序中设置应用程序图标,足以进行分发?

    跟进这个答案 https stackoverflow com a 20918932 368896 to 这个问题 https stackoverflow com questions 20909341 what is the fastest
  • QStyledItemDelegate 绘制自定义小部件失败

    在我的一个项目中 我使用的是QTableWidget为了显示一些复杂的计算结果 为了提高表格的可读性 我需要在单个表格单元格内显示两个对齐的值 后来我想通过使用颜色或箭头等来进一步自定义小部件 为此我源自QStyledItemDelegat
  • 第一次信号发射后自动断开

    我正在从文件加载网页 然后替换其中的一些 html self template web page QtWebKit QWebPage self template web page mainFrame load QtCore QUrl tem
  • 如何在QT上暂停和重新启动Qtimer

    我有 Ubuntu 我正在使用 IDEQT on C 我将暂停和恢复计时器 例如 void Ordonnancer les taches on pushButton clicked connect dataTimer SIGNAL time
  • Qt 为什么使用 QString::number() 而不是 QLocale().toString()?

    我正在开发的应用程序将在许多国家推出 并且需要支持他们的语言 我一直在回顾我的代码并替换以下每个实例 QString number and QString toDouble with QLocale toString and QLocale
  • 完全彻底卸载QT Creator

    问题 如何从 Linux 机器上卸载 QT Creator 我的 Debian Jessie 机器上的安装已损坏 我尝试过重新安装 修复等 但没有成功 建议我完全卸载 获取最新版本并重新安装 问题是我不确定如何执行此操作 每次我尝试时 QT
  • 将 jstring 转换为 QString

    我正在调用一个返回字符串的 Java 函数 QAndroidJniObject obj QAndroidJniObject callStaticObjectMethod
  • Qt 嵌入式触摸屏 QMouseEvents 在收到 MouseButtonRelease 之前未收到

    我在带有触摸屏的小型 ARM 嵌入式 Linux 设备上使用 Qt 4 8 3 我的触摸屏配置了 tslib 并对其进行了校准 因此 etc 中有一个 pointcal 文件 我的触摸事件的位置工作得很好 但无论如何我都会在鼠标按下或鼠标释
  • Qt 5.1.1 与 Visual Studio 2012 - 这些 QT 版本无法访问

    打开 Visual Studio 时出现此错误 我安装自http qt project org downloads http qt project org downloads 适用于 Windows 64 位的 Qt 5 1 1 VS 20

随机推荐

  • 【KBQA】医疗知识图谱的问答系统实现

    知识图谱的构建 1 1数据的收集 初探医疗知识图谱 这篇文章概述了医疗知识图谱的定义 特点和应用 以及构建医疗知识图谱的数据源和步骤 文章指出 目前医疗知识图谱构建的数据源可以分为三个部分 权威的医学文献 临床数据和互联网信息 医学知识图谱
  • 郑州大学远程教育计算机考题,2017年郑州大学远程教育计算机考题.doc

    一 单项选择题 30道小题 共60分 1 下面关于计算机病毒说法正确的是 2分 A 都具有破坏性 B 有些病毒无破坏性 C 都破坏EXE文件 D 不破坏数据 只破坏文件 2 Excel中的电子工作表具有 2分 A 一维结构 B 二维结构 C
  • SAP FICO 会计凭证打印开发说明书(包括测试样例、程序代码仅作参考,不保证一定可以运行)

    开发说明书 输入屏幕 输出布局及样式 程序逻辑 输入表屏幕逻辑 查询表BKPF 根据条件 BKPF BUKRS 输入条件的公司代码 BKPF BUDAT 输入的过账日期 取值 SAP会计凭证号码 BKPF BELNR 公司代码 BKPF B
  • c语言初级指针详解,一级指针,二级指针。n级指针

    目录 一 1级指针 1 1 内存的使用 1 2 c语言内存中数据的访问 1 3 一级指针的定义方式 1 4 通过指针访问数据 二 二级指针 2 1二级指针的创建和访问 总结 一 1级指针 首先在对指针进行理解之前 我们要清楚下面这几个个概念
  • 【C++】栈和队列(stack&queue)

    栈和队列 一 stack的介绍和使用 1 概念 2 常见接口 3 使用 1 最小栈问题 2 栈的压入 弹出序列 3 逆波兰表达式 4 stack 的模拟实现 二 queue的介绍和使用 1 概念 2 常见接口 3 使用 用队列使用栈 4 q
  • float布局--圣杯布局

    前言 虽然现在有了flex弹性盒子模型 很多布局效果都可以通过flex盒子来实现 但由于flex盒子模型的兼容性不容乐观 ie至少要10才能支持flex 所以还是很有必要学习float流式布局的 栗子 正常的块级元素的布局是这样的 文字代表
  • 嵌入式开发中logout两种实现方式与原理

    1 如果没有logout头文件 利用 include
  • 设置文字渐变颜色在IOS系统上不显示问题

    设置的文字渐变颜色在IOS上不显示 如下代码设置渐变色 background linear gradient 180deg D37E98 27 68 FFBDD1 86 61 webkit background clip text webk
  • 并网逆变器PI控制(并网模式)

    并网逆变器PI控制 1 逆变器拓扑结构与数学模型 2 常用变换 2 1 abc alpha beta 变换及其逆变换 2 2
  • coreldraw软件完整最新版2022矢量图形设计软件

    CorelDRAW2022是一款矢量图平面设计软件 发展历史也很长 是平面设计师必学软件 和 illustrator 比起来操作性相对差一点 但在排版上比 AI 好用 还有一个很明显的优点就是在设计大型文件的时候不会很卡 矢量图形设计软件C
  • 设计模式C++学习笔记之二(Proxy代理模式)

    http www cnblogs com wanggary archive 2011 04 08 2009965 html 代理 一看名字就知道这只是个中介而已 真实的执行者在代理的后面呢 cbf4life在他的书里提的例子也很有趣 更详细
  • 基于Three.js的WebXR渲染入门

    1 Three js 渲染管线快速概览 我不会花太多时间讨论 Three JS 渲染管道的工作原理 因为它在互联网上有详细记录 例如 此链接 我将在下图中列出基础知识 以便更容易理解各个部分的去向 2 WebXR 设备 API 入门 在我们
  • AI绘画网站都有哪些比较好用?

    人工智能绘画网站是一种利用人工智能技术进行图像处理和创作的网站 这些绘画网站通常可以帮助艺术家以人工智能绘画的形式快速生成有趣 美丽和独特的绘画作品 无论你是专业的艺术家还是对人工智能绘画感兴趣的普通人 人工智能绘画网站都可以为你提供新的创
  • 【图像去噪】【TGV 正则器的快速计算方法】通过FFT的总(广义)变化进行图像去噪(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 图像去噪 TGV 正则化器的快速计算方法
  • tomcat部署war包出错解决方案

    tomcat部署war包出错解决方案 最最简单直接明了的方法 卸载重新再装一遍 笔者重装了5 6遍 算是整好了 写篇博客 希望你萌 少走弯路 这是我走的弯路 https 下载 安装 配置及部署war包出错解决方案 1 jdk的安装及配置 2
  • git、gitee创建第一个项目、导入项目到线上仓库

    1 新建一个空文件夹 2 在文件夹中运行git bash 3 克隆线上的空仓库到文件夹中 git clone 线上仓库的地址 eg git clone aaa git 4 将项目中的代码复制到文件夹中 5 提交项目代码 运行命令 1 git
  • Shell脚本相关命令

    文章目录 1 编写简单的hello world脚本 查看脚本内容 并运行 2 练习加减乘除 比较等基本的算术运算 3 使用test命令对两个数值比较 等于 小于 大于等于 注释说明含义 4 使用test命令对两个字符串比较 等于 非空 小于
  • 大数据学习线路图

    大数据学习线路图 Java教程 Java 教程 Java 简介 Java 开发环境配置 Java 基础语法 Java 对象和类 Java 基本数据类型 Java变量类型 Java修饰符 Java运算符 Java循环结构 Java分支结构 J
  • C++循环经典练习题

    目录 前言 一 方阵 二 乘法口诀表 1 正向打印 2 反向打印 三 打印三角形 1 正三角 2 倒三角 四 杨辉三角 五 水仙花数 六 斐波那契数列 七 进制转换 1 十进制转二进制 2 二进制转十进制 总结 前言 在C 的海洋中 循环是
  • Qt-4.7.2在dm365下的移植

    此篇为我的上一篇博客 Qt 4 7 2及QtEmbedded 4 7 2在ubuntu11 10下的安装 后续 主要参考 博客http blog chinaunix net uid 25652733 id 291521 html 同样 参照