我根据https://mechatronicsblog.com/cross-compile-and-deploy-qt-5-12-for-raspberry-pi/成功地为树莓派交叉编译了Qt 5.12.2,生成了一个用于主机的“ qt5”文件夹和一个用于rpi的“ qt5pi”文件夹,我可以在“ qt5 / bin”中添加qmake。到Qt Creator,然后将“ qt5pi”转移到rpi,然后交叉编译一个简单的程序并部署到rpi,一切都很好。我使用的是Kubuntu 18.10 64bit,对于工具链,我尝试了大多数教程所建议的https://github.com/raspberrypi/tools中的工具,而gcc-linaro-6.3.1工具链都成功了。
我在另一台计算机上有另一台具有ubuntu 16.04 64bit的虚拟机,我还想将其用于同一rpi的交叉编译。我做了如下:
我使用了rsync,从rpi到虚拟机,使用与教程中建议的相同的方式创建了另一个“ sysroot”,该名称应与Kubuntu中的相同。
然后,我还使用rsync将新编译的“ qt5pi”文件夹从rpi传输到了虚拟机。
然后我也使用rsync将“ qt5”文件夹从Kubuntu转移到了虚拟机。
然后,当我尝试在已转移的“ qt5 / bin”中将qmake添加到虚拟机中的Qt Creator时,它弹出一个错误:“无法添加qmake可执行文件/ home / v / raspi / qt5 / bin / qmake ”。但是在Kubuntu中,qmake可以正常工作。
我尝试过的两个工具链都发生了这种情况,在原始主机上成功,但是在复制到另一个主机时失败了。在更改工具链之前,我确实清除了主机和rpi的所有内容。所以我不认为这与工具链有关。
我的Kubuntu和虚拟机ubuntu环境没有太大区别,在其中一个程序中编译的其他程序可以在另一个程序中正常运行。 是什么引起了问题?还是有什么方法可以在主机之间转移交叉编译环境?谢谢!