树莓派3b, qt程序的运行
背景: 有个设备准备用树莓派来控制,linux编程不大会,准备用qt编写。编译环境是现成的:ubuntu14.04,qt5.8交叉编译环境 - 以前搭建过。程序写完,ubuntu版本调试ok,然后交叉编译ok。安装树莓派系统,下载的是2018-03的系统,2018-03-13-raspbian-stretch。顺利写到sd卡上,启动系统,上传qt运行库,上传我写的程序,暂时叫nose
背景:
有个设备准备用树莓派来控制,linux编程不大会,准备用qt编写。
编译环境是现成的:ubuntu14.04,qt5.8交叉编译环境 - 以前搭建过。
程序写完,ubuntu版本调试ok,然后交叉编译ok。
安装树莓派系统,下载的是2018-03的系统,2018-03-13-raspbian-stretch。顺利写到sd卡上,启动系统,上传qt运行库,上传我写的程序,暂时叫nose吧。因为没有屏幕,我是xrdp远程连接到树莓派的。.
/nose 出错:
1. 提示libQt5Gui.so ELF header 出错, 百度了一下说平台版本不对,那不可能啊,我是原来的编译环境,以前用过的,没问题。后来发现文件拷贝时候不知怎么出错了,文件损坏,重新上传后解决。总结:我是压缩后上传,然后在pi上解压,再mv到对应位置,难道这个步骤容易出错?以后用rsync来同步。
2. 提示找不到库文件 libicui18n.so.52,我搜索了一下libicui18n,在/usr/lib/arm-linux-gnueabihf/ 找到个 libicui18n.so.57.1,版本号不对啊,想了个歪招 cp /usr/lib/arm-linux-gnueabihf/bicui18n.so.57.1 /usr/lib/arm-linux-gnueabihf/bicui18n.so.52, 有用!然而 又出现报错,提示libicudata.so.52找不到,同样的方法; 然而又提示找不到libicuuc.so.52;这样不行啊,不知道有多少个,改死。百度最后找到个libicu52库,下载libicu52_52.1-8+deb8u6_armhf.deb,安装后解决。总结:应该是原来的编译环境用的树莓派系统是2016年的jessie,库文件的版本不一样了。
3. 再次运行,还是报错,提示EGL Error : Could not create the egl surface: error = 0x300b,
这个我有经验,QPA换个平台插件就可以了, ./nose -platform xcb, 自此成功运行。
更多推荐
所有评论(0)