インストーラに関する質問 - 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)

これら2つのプログラムはどう違いますか?私が知っている限り、私がインストールした方法はうまくいきます。

私がインストールしたプログラムは実際に私のコンピュータにインストールされていますか?

この方法でインストールされている他のすべてのアプリを見ると、使用方法やインストール手順がある他のcmakeアプリを見つけることができると確信していますmakeが、違いを知らずに戻ってこの方法でインストールする必要があるかどうかはわかりません。それらを。

これについての情報を提供していただきありがとうございます!

答え1

ソフトウェアをインストールする方法はいくつかあります。いくつかはコンパイルを必要とし(C、C ++、および他の同様の言語)、一部はコンパイルを必要とせず、または必要としない場合があります(シェルなどのスクリプト言語はコンパイルを必要とせず、RubyやPerlなどの他の言語もそうです。そうでないかもしれません)。コンパイルが必要なビットがあります)。コンパイル)。したがって、各場合に利用可能な文書またはファイルを確認して、ソフトウェアの構築とインストール方法を理解する必要があります。主なシステムは次のとおりです。

  • makeソフトウェアを構築またはインストールするためのさまざまな規則がありMakefileますが、特定のバージョンのmake(または)をインストールする必要があるかもしれません。GNUmakefilegmake
  • Autotoolsベースのシステムには、./configuretarballにスクリプトが必要です。理論的には、システムが本当に奇妙でない限り、ほとんどの場所で動作する必要があります。
  • ただし、自動化されたツールキットの中には、1つのセットconfigure.acまたは類似のファイルしか持たない場合があります。実行できるスクリプトをautoreconf生成する実行または類似のコマンドが必要です。./configure
  • Cmakeベースのシステムにはさまざまな関連コマンドが必要であり、cmakeそれを実行する必要があることがわかりました。cmake

これは完全なリストではありません。ソフトウェアを構築してインストールするための異なるシステムがあり、ベンダーパッケージまたはポートシステムがあり、さまざまなスクリプト言語には、その言語用のモジュールを構築するための1つ以上のビルドシステムがあります。 。

関連情報