gcc-multilib 在 Ubuntu 上到底是什么意思?

ddb*_*bug 19 64-bit compiling gcc g++

在使用较旧的 Ubuntu (v.12) 挂了很长时间后,我正在更新到 v.16 并且对“gcc-multilib”的提及感到非常困惑。

这实际上是移植到 Linux 的Apple 的“胖二进制文件”或“通用二进制文件”模型吗?

也就是说,Ubuntu 上的本机 C 库是否成为为各种架构打包多个二进制文件的容器?

如果是这样,我们不再需要在 x64 系统上专门安装 32 位运行时库?gcc 或 g++ 库的“默认”包包含运行和构建 32 位应用程序所需的所有内容?

Ale*_*exP 20

gcc-multilib可用于交叉编译,即编译程序以在不同的处理器架构上运行。例如,gcc-multilib如果您在 64 位 Ubuntu 上运行并希望编译一个程序以在 32 位 Ubuntu(或 ARM 等)上运行,您就需要这样做。

  • 那么,它与运行时库无关吗?我们是否还需要大费周章地安装“libc-i386”、“g++-i386”等32位库才能在x64上运行32位程序?“dpkg --add-architecture i386”与 multilib 相关吗? (2认同)