它做什么./configure
?make
那为什么呢make install
?它怎么知道它们在哪里libs
?(它们都在那里并且已加载,但它找不到它们。)libs
如果编译器应该编译,为什么还需要?
答案1
./configure
告诉您是否已准备好构建应用程序。它将检查您是否已具备构建应用程序所需的一切,并且如果发现任何严重错误,它将通知您。
make
构建(编译)源代码。编译器编译代码,但大多数情况下,代码不能独立存在,它需要安装外部库(通常由 ubuntu 软件包提供)。完成此步骤后,将创建您要安装的特定应用程序的可执行文件。
sudo make install
将应用程序所需的所有文件移动到相应的系统目录。必须在之后执行此操作,make
因为应用程序的可执行文件已创建,可以移动到相应的系统目录(例如 /usr/bin/)以供以后使用。
库是必需的,因为它们允许程序员使用其他人编写的代码来实现某些功能。例如,如果我想在我的程序中进行磁盘格式化,我可以使用某人已经编写的库来进行格式化,我只需要让我的程序调用这些库即可。如果那个人在他们的库中发现问题,他们可以修复它,并且它也会修复我程序中的问题。这就是开源软件能够如此快速和稳定地编写的原因。