首页 >>  正文

qt配置编译器

来源:baiyundou.net   日期:2024-09-25

1引言

通常情况下工程师在调试Qt程序时,需要频繁制作镜像烧录到核心板来测试Qt程序是否完善,这样的操作既费时又费力。这时我们可以通过QtCreator设备功能,定义设备后,在x86_64虚拟机上交叉编译qt程序,将程序远程部署到arm64的机子上,然后远程调试,大大提高开发效率。

2. 调试环境

本文基于HD-T113-EVM评估板进行验证,HD-T113-EVM基于HD-T113-S3核心板设计,具备千兆网口、双路CAN-bus、2路RS-232、2路RS-485、LCD、4G/5G、WiFi、音频等,接口丰富,适用于工业现场应用需求,亦方便用户评估核心板及CPU的性能。

Linux主机

VM16.1.0 + Ubuntu18.04

交叉编译器

arm-linux-gnueabihf

Qt版本

Qt5.12.12

核心板版本

HD-T113-S3 v1.1

内核版本

Linux kunos 5.4.61 #2 SMP PREEMPT Tue Dec 12 17:29:56 CST 2023 armv7l GNU/Linux

底板版本

HD-T113-EVM v1.2

2.1 调试前准备

使win10主机、arm开发板和linux虚拟机处于同一网段且三者能互相ping通配置虚拟机ip。虚拟机需要按照以下截图步骤进行设置。

2.2 交叉编译环境设置

/work/T113_Tina5.0/out/t113/hd-t113-evm-emmc/buildroot/buildroot/host/qt5/bin/qmake

2.2.1 编译器

GCC

/work/T113_Tina5.0/out/t113/hd-t113-evm-emmc/buildroot/buildroot/host/bin/arm-linux-gnueabihf-gcc

G++

/work/T113_Tina5.0/out/t113/hd-t113-evm-emmc/buildroot/buildroot/host/bin/arm-linux-gnueabihf-g++

2.2.2 Kits

2.3 创建新设备

打开工具->选项->设备,添加新的Generic Linux Device设备。

2.3.1 测试成功

2.3.2 测试失败

1 - 错误描述SSH connectionfailure

错误分析No routeto tohst找不到主机

解决方案检查虚拟机与开发板ip是否处于同一网段并且能互相ping通

2 - 如虚拟机与开发板可以正常ping通但无法ssh登录开发板

原因:一台主机上有多个Linux系统,会经常切换,那么这些系统使用同一ip,登录过一次后就会把ssh信息记录在本地的/.ssh/known_hsots文件中,切换该系统后再用ssh访问这台主机就会出现冲突警告,需要手动删除修改known_hsots里面的内容。

有以下两个解决方案:

1.删除修改known_hsots记录,重新登录,使known_hsots生成新的记录;

2.修改配置文件“~/.ssh/config”,添加下两行,

StrictHostKeyChecking no

UserKnownHostsFile /dev/null

重启服务器。

优缺点:

1.需要每次手动删除文件内容,一些自动化脚本的无法运行(在SSH登陆时失败),但是安全性高;

2.SSH登陆时会忽略known_hsots的访问,但是安全性低;

2.4 设置Kits->Device

2.5 部署应用

1 - 新建项目时,选择Kits为T113

2 - 编译应用

3 - 部署应用到开发板

4 - 提示

部署成功后,可能会提示。kbcommon: ERROR: failed to add defaultinclude path /usr/share/X11/xkb

5–运行结果展示

","gnid":"94b4b78a7d0144ed3","img_data":[{"flag":2,"img":[{"desc":"","height":"715","title":"","url":"https://p0.ssl.img.360kuai.com/t013915661575d3b5b0.jpg","width":"1270"},{"desc":"","height":1112,"title":"","url":"https://p0.ssl.img.360kuai.com/t0163e78928469abb4c.jpg","width":1218},{"desc":"","height":1058,"title":"","url":"https://p0.ssl.img.360kuai.com/t01ceac52b0f9b23ac8.jpg","width":1218},{"desc":"","height":"1324","title":"","url":"https://p0.ssl.img.360kuai.com/t01377d82f8995ca35d.jpg","width":"1210"},{"desc":"","height":"1082","title":"","url":"https://p0.ssl.img.360kuai.com/t01c6198820c049e331.jpg","width":"1110"},{"desc":"","height":"302","title":"","url":"https://p0.ssl.img.360kuai.com/t01a0b88c2792b4ba59.jpg","width":"1262"},{"desc":"","height":"710","title":"","url":"https://p0.ssl.img.360kuai.com/t0117e993a719ecb554.jpg","width":"1268"},{"desc":"","height":"511","title":"","url":"https://p0.ssl.img.360kuai.com/t01158e9f3f314d7ae8.jpg","width":"767"},{"desc":"","height":"694","title":"","url":"https://p0.ssl.img.360kuai.com/t01cd7aac5e94a5c3cb.jpg","width":"919"},{"desc":"","height":"732","title":"","url":"https://p0.ssl.img.360kuai.com/t01b3f9d5014a2af4ab.jpg","width":"832"},{"desc":"","height":"385","title":"","url":"https://p0.ssl.img.360kuai.com/t0165b319a1bd092604.jpg","width":"775"},{"desc":"","height":"383","title":"","url":"https://p0.ssl.img.360kuai.com/t01963c7d0bbfe04ebd.jpg","width":"870"},{"desc":"","height":"612","title":"","url":"https://p0.ssl.img.360kuai.com/t0196ac08361d1cfb40.jpg","width":"923"},{"desc":"","height":"1216","title":"","url":"https://p0.ssl.img.360kuai.com/t010262093d6c1e8636.jpg","width":"1202"},{"desc":"","height":"1218","title":"","url":"https://p0.ssl.img.360kuai.com/t0116f43aae4658f4a3.jpg","width":"1210"},{"desc":"","height":"383","title":"","url":"https://p0.ssl.img.360kuai.com/t01a7ebdddda346b257.jpg","width":"734"},{"desc":"","height":"696","title":"","url":"https://p0.ssl.img.360kuai.com/t01c0b26083c401f872.jpg","width":"1116"},{"desc":"","height":"529","title":"","url":"https://p0.ssl.img.360kuai.com/t012b22b7f7a0764628.jpg","width":"797"},{"desc":"","height":"780","title":"","url":"https://p0.ssl.img.360kuai.com/t010614714a41998801.jpg","width":"1248"},{"desc":"","height":"908","title":"","url":"https://p0.ssl.img.360kuai.com/t01fd2952e9769964e3.jpg","width":"990"},{"desc":"","height":"1080","title":"","url":"https://p0.ssl.img.360kuai.com/t0190cb979dede2574e.jpg","width":"1080"}]}],"original":0,"pat":"art_src_3,fts0,sts0","powerby":"pika","pub_time":1704962580000,"pure":"","rawurl":"http://zm.news.so.com/75a774f93cee26e5bc7638a919f6e8d9","redirect":0,"rptid":"9045930459a707bb","rss_ext":[],"s":"t","src":"武汉万象奥科","tag":[{"clk":"ktechnology_1:linux","k":"linux","u":""}],"title":"全志T113开发板Qt远程调试

双都于5087如何在ubuntu下搭建qt交叉编译环境 -
卢戚河13486934575 ______ 第一步,你需要下载QT源代码(4.8的编译比较容易),然后通过 ./configure (参数自己定,不懂看readme)接下来就是在QT CREATE里面配置了,如下:工具-->选项--->构建和运行1. 编译器: 点击添加: "名称"随意 "编译器路径" **/arm...

双都于5087QT中如何把msvc编译器换成mingw编译器 -
卢戚河13486934575 ______ 把msvc的Qt卸载,然后在官网下载自带MinGW的Qt版本,傻瓜式的next.MinGW版本的Qt很容易安装

双都于5087Qt5如何安装与使用 -
卢戚河13486934575 ______ 1、安装Qt5 Qt5的安装比Qt4的安装简单多了,我装的是Qt5.4(qt-opensource-windows-x86-mingw491_opengl-5.4.0.exe),它集成了MinGW、Qt Creator等,不需要你再单独下载MinGW和Qt Creator.首先,去Qt官网下载资源:qt-opensource-...

双都于5087Qt creator 配置 opencv
卢戚河13486934575 ______ 1. 建议最好先研究下怎么在普通的VS控制台工程中使用opencv,然后再来研究qt里怎么用.否则根本不可能理解为何以及如何配置.http://www.docin.com/里可以搜到一个VS中配置实用opencv的说明《Win8+VS2012下配置OpenCV244》2. qt用的编译器可以有很多种,我建议你就用VS,这样比较方便,网上教程多是用MinGW,多找了很多麻烦.qt也最好卸掉一个(尤其是自带MinGW的),没必要和两个qt做斗争.3. 在qt里面配置的时候是要用编辑.pro文件的方法加入opencv库的包含路径和库文件路径.不过别忘记了qmake一下.当然,如果你能找到足够详细的教程,就当我没说.

双都于5087如何安装linux qt 4.8.0 -
卢戚河13486934575 ______ 按照开发手册上安装好就可以了,但有个地方要注意一下: 12.04不能用root登录了,只能在终端上用命令操作,在root账户下添加的环境变量在一般的账户下不能用,但运行的Qt程序在一般的账户下运行的,这就导致了交叉编译设计好的应用程...

双都于5087如题,怎样设置使得QTcreater支持交叉编译?
卢戚河13486934575 ______ 只需要把QtVersion设置好就可以了. 点击Tools->Options->Qt4->Qt Versions. 然后添加你已经编译的Qtembedded目录进去,就可以编译了. 很简单的. 希望能帮助你.

双都于5087QtCreator怎么添加编译参数 -
卢戚河13486934575 ______ 在pro文件里添加:QMAKE_CXXFLAGS += -m128bit-long-double 如果是C工程或者有C文件也用那就也加上:QMAKE_CFLAGS += -m128bit-long-double pro文件很灵活的,编译参数那块控制还有下面好多:

双都于5087vs开发qt使用的编译器是qt的还是vs的 -
卢戚河13486934575 ______ qt是个框架,本身不包含编译器,可以选择使用vs或者其他编译器

双都于5087如何在QT中添加.lib,dll还有.h文件 -
卢戚河13486934575 ______ "提示无法找到libeay32.dll文件" 这是因为被病毒感染相关文件导致,一旦杀毒软件删除被感染的文件,就会导致相关文件缺失,导致运行游戏时提示缺少libeay32.dll等.libeay32.dll丢失游戏常用软件运行不起来运行不起来,或者报错修复方法: 方法一: 也是最简单的一种方法,手工替换相关文件可以解决问题.在正常工作的相关软件安装目录中,找到这个libeay32.dll文件,复制到出现问题的软件目录下,即可解决问题. 也可以安装腾讯电脑管家,点击工具箱-电脑诊所-直接搜索丢失eay32.dll,会有一键修复办法,非常方便的.方法二: 重新安装系统(不推荐)

双都于5087qt多个工程之间调用 -
卢戚河13486934575 ______ include 相应的头文件,直接用就可以了.保存好后,配置.pro工程文件.如果程序代码比较简单,就直接在命令行里输入:qmake -project qmake make 三步后自动生成可执行文件. Qt的编译器是基于gcc等C++编译器的,因此,只要你的编译器支持STL,就可以直接用了.不过,Qt里有一套自己的算法和容器库完全可以替代C++的STL,功能比STL强大,但一般情况下效率稍低.不过,这种差别在 GUI程序设计中是看不出来的.祝你好运!

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024