答案1
uname
您可以通过检查file
可执行文件的类型来获取大量信息:
$ gcc -dumpmachine
x86_64-linux-gnu
$ uname -o -m
x86_64 GNU/Linux
$ file /usr/bin/file
/usr/bin/file: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=d8ac02806880576708bf189c064fca78ea89f1d0, stripped
如果您的设备尚未file
安装,请将二进制可执行文件从该设备复制到另一台 Linux 计算机并file
在那里运行。
答案2
您需要在文件系统中找到保留在configure
目标用户空间的构建时间传递给/探测的三元组的文件。
在常见的 GNU/Linux 发行版中,最好的选择是查询常见的命令二进制文件,例如bash
curl
make
svn
.在下面的例子中Debian/armhf(QEMU 图像取自这里) 我拿到典范三胞胎arm-unknown-linux-gnueabihf
由bash --version
.因此,通过 为该系统配置我的交叉工具链基本上是安全的/path/to/configure --target=arm-unknown-linux-gnueabihf
。
root@debian-armhf:~# bash --version
GNU bash, version 4.2.37(1)-release (arm-unknown-linux-gnueabihf)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
没有可靠的方法可以arm-linux-gnueabihf
x86_64-linux-gnu
从用户区了解非规范三元组,并且可能存在特定于发行版的约定,例如 Debian多架构和元组。您需要从您的发行版文档或其他在线资源中收集信息。
答案3
另一种选择是make -v
。在我的笔记本电脑中:
$ make -v
GNU Make 4.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
然后建三重就是x86_64-pc-linux-gnu
。