gcc 编译器使用目标三元组进行交叉编译。我看到其中一些目标三元组,例如“x86_64-pc-linux-gnu”(最常见)。我明白什么意思,但我不知道如何指定另一个类 UNIX 系统而不是“linux-gnu”。有相关文件吗?并且“pc”似乎是可选的(我应该关心这个吗?),当我运行“config.guess”脚本时,它返回我“x86_64-unknown-linux-gnu”。
答案1
为了交叉编译,你必须拥有(或构建)一个交叉编译器;默认情况下,gcc 不能只为它所指定的任何目标构建可以被配置为。我相信 gcc 源代码包中有一个可能性列表。
构建交叉编译器工具链并不是一件简单的事情,因此如果您想这样做,您必须决定它的用途并提出更具体的问题。
还有一个带有注释的主机/目标列表这里。星号表示可以在该位置使用任何值(大概这对编译器没有影响,只是一个用户定义的标签);你pc
说的可能是这样的。
答案2
config.guess
实际上是文档。但是,如果您还没有目标系统的库,那么仅仅构建跨 gcc 不会让您走得太远。