"./configure; make; make install" 是一种常见的软件编译和安装过程。首先,"./configure" 命令会检查系统环境并生成适合当前系统的 Makefile 文件。然后,"make" 命令会根据 Makefile 文件编译源代码,生成可执行文件或库文件。最后,"make install" 命令将编译好的文件安装到系统中的指定位置。这个过程通常用于在 Linux 或类 Unix 系统上安装开源软件。

./configure

是做什么的?为什么要先执行 make 然后再执行 make install?它如何知道 libs 的位置?(它们都在那里并且已加载,但却找不到它们。)如果编译器应该进行编译,为什么需要 libs
1个回答

./configure

告诉你是否已经准备好构建应用程序。它将检查你是否拥有构建应用程序所需的一切,并且如果发现任何关键错误,它会通知你。
make

编译源代码。编译器会编译代码,但大多数情况下,代码无法独立运行,需要安装外部库(通常由Ubuntu软件包提供)。完成这一步骤后,将创建你所尝试安装的特定应用程序的可执行文件。
sudo make install

将所有应用程序所需的文件移动到适当的系统目录中。这必须在make之后进行,因为应用程序的可执行文件已经创建并可以移动到适当的系统目录(例如/usr/bin/)以供以后使用。
库是必要的,因为它们允许程序员使用其他人编写的代码来实现特定的功能。例如,如果我想在我的程序中进行磁盘格式化,我可以使用别人已经编写好的库来完成格式化操作,我只需要让我的程序调用这些库。如果那个人在他们的库中发现了问题,他们可以修复它,这也会修复我的程序。这就是为什么开源软件可以被快速编写和保持稳定性的原因。

1我只是想澄清一下。许多非程序员可能不明白。如果你觉得它没有任何意义,你可以删除它。:-) - reverendj1