Leo*_*Leo 37 compiler-construction gcc naming-conventions cross-compiling
我试图理解gcc交叉编译器背后的命名约定,但似乎有相互矛盾的答案.我的系统中有以下三个交叉编译器:
在阅读GNU libtool手册时,它将交叉编译器命名约定指定为:
cpu-vendor-os(os = system/kernel-system)
对于我的系统中的编译器来说,这似乎并不完全准确.GNU手册中的信息是旧的,还是编译器分销商只是停止了它?
rub*_*nvb 28
命名归结为:
arch-vendor-(os-)abi
例如:
x86_64-w64-mingw32 = x86_64架构(= AMD64),w64(= mingw-w64为"供应商"),mingw32(= GCC看到的win32 API)
i686-pc-msys = 32位(pc =通用名称)msys二进制
i686-unknown-linux-gnu = 32位GNU/linux
你的例子特别是:
arm-none-linux-gnueabi = ARM体系结构,没有供应商,Linux操作系统和gnueabi ABI.
该arm-eabi是一样你说,使用Android原生应用.
一个警告:Debian使用不同的命名,只是很难,所以如果你在基于Debian的系统上要小心,因为它们有不同的名称,例如.i686-pc-mingw32.