QT 的移植

QT的移植

QT可以 windows编译,ubuntu也可以编译:

        运行也是在对应的平台。

我们想把 QT程序放到开发板上去运行。

在ubuntu搭建一个 arm-Qt 的编译环境。: qmake ....

在 arm开发板上搭建一个 arm-qt的运行环境: qtlib

如何把 QQ程序 放到ARM开发板上运行:

        把 QQ工程 用 ARM版本的Qt 重新编译一次。

1. Qt 移植, 把一个可以在windows上运行的程序,放到 ARM开发 板上运行。

        要在 ubuntu 上搭建一个 Qt for arm 的编译环境。

2. 安装一个 2014版本的 交叉编译工具

        arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

sudo tar jxvf arm-2014.05-29-arm-none-linux-gnueabi-i686- pc-linux-gnu.tar.bz2 -C /usr/local

在执行 sudo ./myln.sh 创建软连接:快捷方式 arm-linux-

3. 设置 PATH路径

当前终端有效(重启无效): export PATH=/usr/local/arm2014.05/bin:$PATH

         每次有效: 修改 /home/china/.bashrc 脚本(每次启动终端自动运 行的脚本)

添加到最后一行: export PATH=/usr/local/arm2014.05/bin:$PATH

4. 测试: arm-linux-gcc -v

gcc version 4.8.3 20140320 (prerelease) (Sourcery CodeBench Lite 2014.05-29)

5. Qt for arm 的qt的编译工具哪里来?

        QT源码包在官方网站下载: qt-everywhere-opensource-src5.9.1.tar.xz

以下的步骤是如何编译 QT源码包:最后 生成一个 目标文件夹: /usr/local/armQt5.9.1

======================================================================

        1.解压Qt源码包, 注意不要解压在windows共享目录 进入源码包所在目录,执行如下指令:

                 tar xvf qt-everywhere-opensource-src-5.9.1.tar.xz -C /home/csgec/ 会在用户目录下,自动自成如下目录:

                 qt-everywhere-opensource-src-5.9.1

        进入源码目录 cd /home/csgec/qt-everywhere-opensource-src-5.9.1

        2.修改配置文件:  vi qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf

1.修改编译器名

把所有的arm-linux-gnueabi-xxx 格式修改为 arm-linux-xxx 总共需要修改8处

2.添加编译选项(添加到13左右即可)

        QMAKE_CFLAGS_RELEASE += -O2 -march=armv7-a

        QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv7-a

 修改完成,保存退出。

3.检查环境、配置选项

cd qtbase

./configure -prefix /usr/local/armQt5.9.1 -opensource -release -confirm-license -xplatform linux-arm-gnueabi-g++ -c++std c++11 -silent -nomake examples -nomake tools -no-dbus -noiconv -no-opengl -linuxfb

        执行以上指令后,如果正常,会有如下提示:

Qt is now configured for building. Just run 'make'.

Once everything is built, you must run 'make install'.

Qt will be installed into '/usr/local/armQt5.9.1'.

4.编译: time make -j 4

5.安装: sudo make install

=========================================================================

armQt5.9.1.64bit.tar.gz (编译好的 Qt编译工具)

解压到 /usr/local

tar zxvf armQt5.9.1.tar.gz -C /usr/local

gec@ubuntu:/usr/local/armQt5.9.1$ ls

bin doc include lib mkspecs plugins qml translations

bin: 只执行程序的目录,包含了 交叉编译Qt程序的工具

         lib :qt在 ARM开发板上运行的时候,用到的一些动态静态库。

         还要在 PATH路径中添加一个路径:/usr/local/armQt5.9.1/bin 添加到最后一行:

export PATH=/usr/local/armQt5.9.1/bin:/usr/local/arm-2014.05/bin:$PATH

6. 测试 qmake 能不能用

gec@ubuntu:/usr/local/armQt5.9.1/bin$ qmake -v

QMake version 3.1

Using Qt version 5.9.1 in /usr/local/armQt5.9.1/lib

如果出现:

gec@ubuntu:/usr/local/armQt5.9.1/bin$ qmake -v

qmake: could not exec '/usr/lib/i386-linux-gnu/qt4/bin/qmake': No such file or directory

重启终端,才会执行 .bashrc 脚本

7. 编译qt项目

        1). qmake -project 产生一个新的 pro 工程文件

        在新的 pro 文件中的第一行加入: QT+= widgets

        2). qmake 产生了一个 Makefile 文件

         3). make 产生了一个 可以在 arm开发板上运行的 可执行文件: QQ

        4). 把 QQ 可以执行的文件,下载到 开发板 ./QQ 运行Qt 程序 (报错,需要找动态库)

=========================================================================

以上的步骤已经搞定 QT的 arm 编译环境

以下还要在 ARM开发板上搞定运行环境

1. Qt 还要把 lib 目录复制到开发板

        1). 进入 ubuntu

                cd /usr/local/armQt5.9.1/

                sudo tar zcvf armQtlib.tar.gz lib plugins/

2. 复制 armQtlib.tar.gz 到开发板

删除开发板这个目录中的文件:

rm -fr /usr/local/Qt-Embedded-5.7.0/*

3. 下载到开发板

U盘复制

mount /dev/sda1 /mnt

cd /mnt

4. 测试

chmod +x QQ

./QQ

5. 字体的文件

开发板: cd /usr/share/fonts

下载字体文件(YaHei.ttf)到该目录

-----------------------------------------------------------------------------------------------------------------------------

触摸屏的矫正

sudo tar jxvf tslib-1.21.tar.bz2 cd tslib-1.21/

./configure --prefix=$PWD/tmp --host=arm-linux sudo su ---> root

export PATH=/usr/arm-2014/bin:$PATH

make 编译 触摸屏的库

make install 安装 : $PWD/tmp 生成几个目录

        bin etc include lib share

tar czvf tslib.tar.gz bin etc lib

再把 tslib.tar.gz 下载到开发板: rz

放到 home就行了

把 tslib/etc/ts.conf 复制到了 /etc

把 tslib/lib/* 复制到了 /lib

在 qtconf.sh 下面添加:

export TSLIB_TSDEVICE=/dev/input/event0

export TSLIB_CALIBFILE=/etc/pointercal

export TSLIB_CONFFILE=/etc/ts.conf

export TSLIB_PLUGINDIR=/lib/ts

export TSLIB_CONSOLEDEVICE=none

export TSLIB_FBDEVICE=/dev/fb0

当我们 执行 tslib/bin/ts_calibrate 矫正触摸屏之后, 就会在 etc目录生成一个 /etc/pointercal, 就是每次触摸屏启动的时候,会去调用的一个脚本。 这样就完成了你的触摸屏和 LCD 的矫正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将Qt移植到OpenWrt上,您可以按照以下步骤进行操作: 1. 下载Qt源代码。您可以从Qt官方网站下载适用于OpenWrt的Qt源代码。在下载页面中选择合适的版本和文件类型,比如tar.gz的程序包(如qt-everywhere-opensource-src-4.8.3.tar.gz)。 2. 配置环境。在移植Qt之前,您需要配置适合OpenWrt的编译环境。首先,根据目标平台的要求,设置QMAKESPEC。这个环境变量指向qmake.conf的目标文件位置,并且需要修改编译工具的名称。其次,配置STAGING_DIR。这是OpenWrt平台所需的,它指向OpenWrt SDK中目标平台的位置。 3. 生成Makefile。在移植Qt的源代码目录下,运行qmake命令,指定您的.pro文件和目标平台。这将生成一个Makefile,其中包含将用于编译Qt在OpenWrt上的相关设置。 4. 修改Makefile。在生成的Makefile中,您需要做一些修改。首先,将编译工具的具体位置添加到相应位置。其次,确保引用的类库和头文件在编译过程中正确添加。 5. 编译和安装。使用make命令编译Qt源代码。一旦编译完成,您可以使用make install命令将编译后的内容安装到您指定的目录。 请注意,以上步骤只是一个大致的指导,具体的移植过程可能因为OpenWrt的版本和配置而有所不同。在实际操作中,您可能需要根据您的环境和需求进行一些额外的调整和配置。 引用提供了Qt源程序获取的链接,引用和提供了一些关于配置和安装的参考信息。这些资料可以帮助您更详细地了解Qt移植到OpenWrt的过程。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [移植Qt到openwrt开发板中](https://blog.csdn.net/Pintitus/article/details/122573400)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [编译OpenWrt平台上Qt程序的环境配置](https://blog.csdn.net/qianguozheng/article/details/45506037)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值