关于安装程序的问题 - cmake/make v/s 手册(?)

关于安装程序的问题 - cmake/make v/s 手册(?)

我目前使用的是 Ubuntu 17,但这适用于所有 Linux 操作系统。

我多次遇到压缩在 tarball 中供我安装的应用程序。我第一次遇到这样的人时,我知道的甚至比我现在知道的还要少(并不多)。那次我只是摆弄这些文件,直到我能够通过简单地输入./executable终端来执行程序。之后我每次对这种格式的程序所做的就是将文件夹移动到/usr/local/lib(这样它就不会堵塞我的文件夹)并创建一个包含所有可执行文件和应用程序信息的.desktop文件。/usr/share/applications

今天我遇到了一个我已经按照前面提到的方式安装的应用程序,但是他们的安装过程是执行以下命令

cd program_folder_to_install 
mkdir build
cd build
cmake -(options)

这两个程序有何不同?据我所知,我的安装方式效果很好。

我安装的程序是否真的安装在我的计算机中?

我确信,如果我查看以这种方式安装的所有其他应用程序,我可以找到另一个应用程序,其说明说用cmake或安装它make,但我只是不知道区别,以及我是否应该返回并以这种方式安装它们。

感谢您提供有关此的任何信息!

答案1

安装软件的方法有很多种。有些需要编译(C、C++ 和其他此类语言),有些不需要或可能不需要编译(诸如 shell 之类的脚本语言不需要编译,而 Ruby 或 Perl 等其他语言可能有也可能没有需要编译的位)。编译)。因此,在每种情况下,您都需要查看可用的文档或文件,以了解如何构建和安装软件。主要系统包括:

  • make将有一个Makefile或 ,GNUmakefile它将有用于构建或可能安装软件的各种规则,并且可能需要gmake安装某些特定版本的 make (或 )。
  • 基于 Autotools 的系统应该./configure在 tarball 中有一个脚本。从理论上讲,除非您的系统非常奇怪,否则它应该在大多数地方运行。
  • 但是,某些自动工具包可能只有一组configure.ac或类似的文件。您将需要那些运行autoreconf或类似的命令,它们应该生成一个./configure可以运行的脚本。
  • 您发现基于 Cmake 的系统需要cmake和 来运行各种cmake相关命令。

这不是一个完整的列表;还有其他构建和安装软件系统,然后是供应商包或端口系统,各种脚本语言将有一个或多个构建系统来为这些语言构建模块,等等。

相关内容