web-dev-qa-db-ja.com

「./configure; make; make install」は何をしますか?

./configureは何をしますか?なぜmakemake installなのか? libsがどこにあるかをどのように知るのですか? (それらはすべてそこにあり、ロードされていますが、それらを見つけることができません。)コンパイラーがコンパイルすることになっている場合、なぜlibsが必要ですか

28
david
./configure

アプリケーションをビルドする準備ができているかどうかを示します。アプリケーションのビルドに必要なものがすべて揃っているかどうかを確認し、重大なエラーが見つかった場合は通知します。

make

ソースコードをビルド(コンパイル)します。コンパイラーはコードをコンパイルしますが、ほとんどの場合、コードはスタンドアロンではなく、外部ライブラリー(通常はubuntuパッケージによって提供される)をインストールする必要があります。この手順の後、インストールしようとしているこの特定のアプリケーションの実行可能ファイルが作成されます。

Sudo make install

アプリケーションファイルに必要なすべてを適切なシステムディレクトリに移動します。これは、アプリケーションの実行可能ファイルが作成され、後で使用するために適切なシステムディレクトリ(/ usr/bin /など)に移動できるため、makeの後に実行する必要があります。

ライブラリは、プログラマが特定の目的を達成するために他の人が作成したコードを使用できるようにするために必要です。つまり、プログラムでディスクのフォーマットを行いたい場合、誰かがすでに書いたライブラリを使用してフォーマットを行うことができ、プログラムでそれらのライブラリを呼び出す必要があります。その人が自分のライブラリで問題を見つけた場合、彼らはそれを修正することができ、それは私のプログラムでも修正されます。これにより、オープンソースソフトウェアを非常に高速かつ非常に安定して作成できます。

29
hytromo