我必须为另一台机器交叉编译 bluez,但不允许我在主机上安装任何东西。我以前从未这样做过。我该如何开始?
主机:
Processor: Intel(R) Xeon(R) CPU E5-2420 0 @ 1.90GHz
OS Version: Linux 2.6.32-44 generic
目标机器:
Processor: ARM926EJ-S rev 5 (v5l)
OS Version: Linux 2.6.35.3-571
正如您所看到的,目标机的 Linux 版本比主机更新,在这种情况下是否可以进行交叉编译?我发现这个网站(德语),这是一个关于如何开始的很好的教程吗?
答案1
内核版本与为另一个系统编译代码无关。
不幸的是无法安装任何如果您在主机系统上安装了软件,那么您将不走运。您需要一个编译器套件来为您的目标平台(在本例中为 ARM)生成代码,并且默认情况下大多数系统上都没有安装这样的编译器套件 - 如果它们安装了编译器,则它将适用于相同的体系结构。
也就是说,如果您可以在主机的主目录中安装软件,则可以安装交叉编译器。有许多在线指南(例如,这个)。基本上,它涉及下载编译器套件的源代码并在主机系统上对其进行编译,以便它可以为您的目标体系结构生成二进制文件。
也就是说,为什么需要从源代码编译 BlueZ?我不知道你的 ARM 系统运行什么发行版,但 Debian 有ARM 软件包可用(尽管包挤根据您的 ARM 内核的版本,可能更合适)。