首先简单声明,本文是部署qt程序时出现问题的汇总,以便之后再次使用时方便。
硬件环境:龙芯2k1000
软件:qt5.12.9,是翼辉提供的,不是普通的qt程序。
注意,需要翼辉编译好对应硬件平台的base环境,不然无法编译通过。
注意2: 首先我的程序是在x86的windows平台能正常编译运行的,这就说明是没有语法的问题,所以本文不解决语法上的错误。
问题1:找不到头文件(类似assert.h)
解决:这是qt没有设置base工程路径
注意,这个指定的目录就是RealEvo-IDE生成的对应硬件的BASE工程。
设置好之后,重新编译,就可以编译通过了。
问题2. Qt环境部署
2.1 同样还是“工具”--------》“选项”,下图中,我已经添加好了,所以就有我的设置。
2.2 右上角“添加”按钮,选择sylixOS设备
点击“下一步”,点击“完成”,这时会自动连接设备
连接成功的提示。点击“close”,就行。
2.3 注意设备要开机,并正常进入到翼辉系统。
查看设备的ip,一定要正确才可以。(这一步应该在填写设备ip之前(步骤2.2之前)查看,这里只是演示。)
2.4 需要一个ftp客户端工具
一般选择免费的FileZilla Client就可以,下载安装好之后,需要在环境中配置一下路径。
2.5 开始部署,点击部署qt共享库
点击“部署”即可,注意设备需要开启,网络需要正常连通。
问题3.能编译通过了,但是无法运行,或者调试
其实问题来自无法调试(图片查看问题4,无法调试),后来我就准备把它下载到板子中,结果也无法运行。
后来发现是使用工具传输时,没有设置为二进制,而导致的问题。
问题解决。
问题4.无法调试
这个问题有点奇葩,我编译通过后,就想着调试一下,结果就是跑不起来。
后来发现,它是要在根目录下运行,然而,根目录无法保存文件。根目录没有实际的文件系统。
后来就改变思路,想着能不能换个目录调试,就可以了?
4.1 设置了老半天,没有效果。还是要多看手册才行
手册中是提到了自定义的部分,我照着修改了一下
在pro文件中增加
sylixos{app.files = hd43_app # 这是我的应用名app.path = /apps/ # 这是我希望运行的开发板的路径INSTALLS += app # 前面只是设置变量,真正起作用的是它}
在“项目”中,果然看到了自己的设置。之前不知道在哪设置,折腾老半天。
再次调试就ok了。
唉,不容易吧。
手册名《RealEvo-QtSylixOS_usermanual.pdf》,第25页。