如何解释 gcc -print-multi-lib 的输出

How to interpret the output of gcc -print-multi-lib

man gcc 解释说 -print-multi-lib 列出了开关及其分隔方式,但没有列出

.;

.;
32;@m32
x32;@mx32

可能意味着。我什至不知道我是否得到 要求的 multilib 支持。

我正在使用 gcc 5.3.1 和 4.6.3。

形式的输出:.; 没有任何额外的行意味着在您的主机上没有找到 multilibs。

总的来说:

-print-multi-lib: This debugging option causes GCC to display the mapping from multilib directory names to compiler switches that enable them. This information is extracted from the specification files used by the compiler, in which the directory name is separated from the switches by a semicolon, and each switch starts with an @ symbol instead of the traditional dash/minus symbol, with no spaces between multiple switches.

来源William von Hagen 的 GCC 权威指南 [第 2 版,Apress 2006]。请注意——这本书涵盖了 GCC 4.x.y 版本,但我没有在 GCC > 5.

中找到任何关于此范围内的一些根本变化的信息

因此,post 中的第二个输出显示了有关两个多库的信息。

multilib 的使用是典型的交叉编译目的。

我认为另一个 引用同一本书值得一提的另一个有用的开关:

-print-multi-directory: This debugging option causes GCC to print the directory name corresponding to the multilib selected by any other switches that are given on the command line. This directory is supposed to exist in the directory defined by the GCC_EXEC_PREFIX environment variable.