Linux 在目标中生成库,以便在主机中进行交叉编译

Linux 在目标中生成库,以便在主机中进行交叉编译,linux,qt,Linux,Qt,通常,交叉编译包(库)意味着使用目标机器的主机工具链在主机中构建包 然而,似乎还有另一种选择: 在目标中构建包(使用本机gcc),然后将/usr/lib中的.so和/usr/include文件中的相关头文件复制到主机sysroot中,这样我们就可以在主机中交叉编译(而不是在主机中交叉编译包并复制到目标) 我考虑使用这种方法来处理大型包,如Qt5和gStuffer- 即使使用像qt这样的大型软件包,这种方法也应该一直有效吗?您的目标速度有多快?你有多少RAM和磁盘空间 如果您的目标是一台具有四核i

通常,交叉编译包(库)意味着使用目标机器的主机工具链在主机中构建包

然而,似乎还有另一种选择

在目标中构建包(使用本机gcc),然后将/usr/lib中的.so和/usr/include文件中的相关头文件复制到主机sysroot中,这样我们就可以在主机中交叉编译(而不是在主机中交叉编译包并复制到目标)

我考虑使用这种方法来处理大型包,如Qt5和gStuffer-


即使使用像qt这样的大型软件包,这种方法也应该一直有效吗?您的目标速度有多快?你有多少RAM和磁盘空间

如果您的目标是一台具有四核i7、16G RAM和500G SSD的全嵌入式PC,那么您应该不会有任何问题(我使用过这些“嵌入式”PC进行图像处理)


如果它是一个具有2核、4G RAM和32G SD卡的低端ARM处理器,那么如果可能的话,您将不会乐意尝试在其上构建Qt。

目标资源不足。这就是我首先需要交叉编译和调试的原因。但我的问题不是这个。实际上,我是在问,在目标中构建并复制到主机的方法是否应该始终有效。在目标上构建并复制到主机的效果如何,实际上取决于工具的设置情况。对于我所做的所有项目,它都工作得很好,因为我们花了时间来确保我们需要的所有东西都已在目标上或已被复制。哦,是的,另一个想法是从主机远程装载目标文件系统。那么你就不必处理复制步骤了。它已在目标上可用。(我也这样做了。)谢谢,我想你可以把它放在一个单独的答案中,但这就是我一直在寻找的答案:)Thx