通常,交叉编译包(库)意味着使用目标计算机的主机工具链在主机中构建包。
然而,似乎还有另一种选择:
在目标中构建包(使用本机gcc),然后将.so from/usr/lib和相关的头文件从/usr/include文件复制到主机sysroot中,以便我们可以在主机中交叉编译(而不是在主机中交叉编译包并复制到目标)。
我考虑将此方法用于像qt5和gstreamer这样的大型包。
即使使用qt这样的大软件包,这种方法是否应该始终有效?
最佳答案
你的目标有多快?你有多少内存和磁盘空间?
如果你的目标是一台四核i7、16G RAM和500G SSD的全嵌入式PC,那么你应该没有问题(我使用过这些“嵌入式”PC进行图像处理)。
如果它是一个有2核、4G内存和32G SD卡的低端ARM处理器,那么即使有可能,你也不会乐意尝试在上面构建Qt。
关于linux - 在目标中构建库以在主机中进行交叉编译,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54870687/