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

时间:2016-05-24 16:21:29

标签: gcc output cross-compiling

man gcc解释说-print-multi-lib列出了切换以及它们是如何分开的,而不是例如。

.;

.;
32;@m32
x32;@mx32

可能意味着。根据{{​​3}}的要求,我甚至无法判断我是否有multilib支持。

我正在使用gcc 5.3.1和4.6.3。

1 个答案:

答案 0 :(得分:3)

表单中的输出:.;没有任何其他行意味着您的主机上没有找到多个库。

一般来说:

  

-print-multi-lib:此调试选项使GCC显示从multilib目录名到启用的编译器开关的映射   他们。此信息从使用的规范文件中提取   由编译器,其中目录名称与之分离   用分号切换,每个开关都以@符号开头   而不是传统的短划线/减号,而之间没有空格   多个开关。

来源 GCC的权威指南作者:William von Hagen [第2版,Apress 2006]。请注意 - 本书涵盖了GCC 4.x.y版本,但我没有找到任何有关GCC中此范围的根本变化的信息> 5。

因此,帖子中的第二个输出显示有关两个multilib的信息。

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

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

  

-print-multi-directory:此调试选项使GCC打印与其他任何选择的多重目录对应的目录名称   在命令行上给出的开关。这个目录是   应该存在于GCC_EXEC_PREFIX定义的目录中   环境变量。