安装 gcc 后找不到 gmp 或 mpfr 库



我按照 https://gcc.gnu.org/wiki/InstallingGCC 中的简单步骤在 Linux 中安装了 gcc-9.3.0 安装成功。我以为这个过程会在此过程中安装 gmp 和 mpfr。但我找不到 gmp 或 mpfr 库。

我应该在执行 ./configure 时安装它们吗?

有两种不同的方法可以为 GCC 提供先决条件 外部主机库,如 GMP 和 强积金:

  1. 在配置之前,请./contrib/download_prerequisites从 顶级 GCC 源目录。它将从 各自的项目存储库。这就是你所要做的;海湾合作委员会将 在运行"为自己配置"之前配置和构建这些库 或其目标库。

  2. 配置--with-gmp等,指向 已安装相应的主机库。

这两种方法都有其起伏:

第一种方法需要互联网连接,并且构建时间会增加。 但是,构建时间的增加对于构建时间可以忽略不计 编译器的其余部分及其目标库需要。

另一方面,您将获得正确的版本和构建选项 GCC 首选的主机库,无论哪个库版本如何 可能已安装在主机上。而这个配置 在交叉编译时更加方便和自包含 GCC(因为它是关于主机库的,因此你必须安装主机上的必备库;在构建时安装它是 毫无意义)。如果你是,它更强大/独立 分发构建的编译器:如果预期的主机没有 GMP 等安装,那么您将在该主机上执行其他工作。

第二种方法更复杂,因为您必须构建/在主机上安装必备组件;正确的版本,正确的 配置标志等。

另一方面,您只需为 每个主机。 当您多次配置/重建编译器时,对于 例如,当您进行GCC开发时,则周期要快一些。

在第一种情况下,lib 版本独立于主机版本 的图书馆;GCC 实际上不会关心库是否是 存在于主机上,因为它正在使用自己的"副本"。图书馆 将静态链接到可执行文件中,因此您将找不到它们 任何地方(也许 GCC 可以选择为 库,我不知道)。

我非常喜欢第一种方法,因为它是自包含的 而且更容易,特别是因为我经常将 GCC 构建为 加拿大十字,即构建≠主机≠目标≠构建。

最新更新