树莓派3交叉编译qt5/clion


        如果直接在树莓派上编写程序,并编译,会非常卡非常慢。因此,选在在自己笔记本上进行编译,然后部署到树莓派上。这就要对QT进行交叉编译。

树莓派3系统:Ubuntu mate (ubuntu 16.04.2)

笔记本:ubuntu 16.04


QT5

Qt版本:5.10.1

参考博客:

Qt交叉编译:https://wiki.qt.io/RaspberryPi2EGLFS

Qt Creator设置:

适用于树莓派Raspberry Pi的嵌入式QT平台(二) -- 在Windows下用Qt Creator开发编译Raspberry Qt 5应用程序

虽然是windows平台,但是设置方法是一样的。


编译过程:

前期的各种准备见第一篇博客。

这里在qt官网下载qt源码。配置好后,进入qt-everywhere-src-5.10.1根目录:

sh configure -opengl es2 -device linux-rasp-pi3-g++  -device-option CROSS_COMPILE=arm-linux-gnueabihf- -sysroot /home/wk/Raspberry/qt5pi/sysroot  -prefix /usr/local/qt5pi -opensource -confirm-license -skip qtwebengine -skip qtscript -nomake examples -make libs -v

注意:在网上查到很多的博客中,都是说在qt-everywhere-src-5.10.1/qtbase下面执行编译指令,经过测试,会有各种问题。后来发现,直接而在根目录下面就可以了。


QT执行程序中遇到的一些问题:

问题一:报错:“Cannot run: No command given

参考博客:

步骤一:在树莓派上安装SFTP

               然后修改书没拍系统中的文件爱你/etc/ssh/sshd_config 

                 其中一句修改为:Subsystem sftp /usr/lib/openssh/sftp-server                      

                 参考博客:Qt Creator Deploy to Remote Linux Target


步骤2:https://forum.qt.io/topic/47046/cannot-run-no-command-given-in-run-for-raspberry-remote

目前编译运行不带界面的程序是没有问题的。带界面,即与QT库相关的都会报错,EGL库各种问题。。。


CLion:

qt5交叉编译,各种EGL库相关的问题,头大。。。暂时放弃了。毕竟也不是很需要qt的界面库,转用CLion


错误:
运行报错:

cannot execute binary file: Exec format error

参考bash: ./program: cannot execute binary file: Exec format error

执行:sudo apt install binfmt-support qemu qemu-user-static

运行报错:/lib/ld-linux-armhf.so.3: No such file or directory

将所使用的工具链的中的ld-linux-armhf.so.3链接到/lib/ld-linux-armhf.so.3:


报错:

./untitled1: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory


你可能感兴趣的:(Linux)