Linux でのコンパイル: バイナリを作成する 3 つのステップ 🔥
主な要約
- ほとんどのソフトウェアは、ソース コードからコンパイルするために次の 3 段階のプロセスに従います。
./configure && make && make install
. - 脚本 設定する 依存関係をチェックし、 作る 実行ファイルを生成し、次のようなツールが オートコンフ/オートメイク このプロセスを自動化します。
- インストールは通常オプションであり、
パス
システムの。
ソースコードからのコンパイルは、パッケージ マネージャーを使用する場合と比べて難しそうに思えるかもしれませんが、3 つの基本コマンドを使用するだけで、プロセスはシンプルで簡単です。🚀
ソースコードからのコンパイルとは何ですか?
使用するプログラムは、インタープリタ型またはコンパイル型です。インタープリタ型プログラムは、別のプログラム(インタープリタ)がリアルタイムで実行するコードを含むテキストファイルです。一方、コンパイル型プログラムは、すぐに実行できるマシンコードを含むバイナリファイルです。
コンパイルされた実行ファイルは、特に大規模なプログラムでは非常に一般的です。ソースコードからコンパイルすると、sasのようなコンパイラ gcc
コードを実行可能なプログラムに変換します。多くの場合、複数のファイルに分散されます。

コンパイルプロセスは広範囲かつ複雑になる可能性があるため、通常は次のようなプログラムで自動化されます。 作る
. ファイル メイクファイル 最終的な実行可能ファイルの構築方法を制御します。
大規模プロジェクトでは、これらの メイクファイル これらは非常に複雑なため、次のようなツールで自動的に生成される。 自動設定 そして オートメイク 異なるアーキテクチャ間の互換性を確保するためです。🛠️
3ステップのビルドプロセス: 構成、作成、インストール
ほとんどのソフトウェアは、ソースコードからコンパイルするために次の基本パターンを使用します。
./configure && make && make install
Apacheのような人気のプログラムは、このシーケンス(またはそのバリエーション)を使用します。 ファイルを説明する インストール:

Node.js も、BUILDING.md ファイルに示されているように、この構造に従います。

プロジェクトによってこのコマンド文字列は若干異なる場合があります。論理積演算子(&&
) は、いずれかのステップが失敗した場合にプロセスを停止します。
./configure && make && make install
または、セミコロンを使用して各コマンドを 1 行で個別に実行することもできますが、この場合、いずれかのコマンドが失敗しても停止せずにすべてのコマンドが実行されます。
./configure; make; make install
3 行を別々に実行することもできます。
./configure を実行してインストールする
インストールせずにプログラムを試してみたい場合は、スキップしてください。 インストールする
フォルダーから実行します。
設定する
grep など他のスクリプトでは、生成に別のスクリプトを実行する必要がありますが、Ready では準備完了です。プロジェクトの推奨事項に従うには、必ず INSTALL、BUILD、または README ファイルを参照してください。📋./configure がプロセスを開始する方法
脚本 設定する
これはコンパイル プロセスの開始点であり、プロジェクトを環境に適応させます。
このスクリプトは、プロジェクトに必要な依存関係、バージョン、可用性をチェックします。完了すると、次のファイルが生成されます。 メイクファイル
次のフェーズに向けて。
脚本 設定する
多くの設定可能なオプションを提供します ./configure --help
ビルドの詳細をカスタマイズできます。
設定する
として 作る
画面上に大量の出力を生成します。オプションを使用してください - 静かな
あまり詳細を表示せずにこれらのコマンドを実行したい場合。🤫スクリプトが見つからない場合 設定する
いくつかのプロジェクトには次のようなスクリプトが含まれています 自動生成
生成します。例えば、htop はこれを使用します。

非常に単純なプロジェクトや他の言語で書かれたプロジェクトでは、 設定する
プロセスは次の2つのステップに分かれています。 メイク&メイクインストール
.
脚本 設定する
また、パラメータなどのインストールの詳細も制御します。 --プレフィックス
インストールルートディレクトリを設定します。デフォルトでは /usr/local
ただし、ファイルを整理しやすくするために変更することができます。
makeがほとんどの作業を行う
後 設定する
生成する メイクファイル
ソフトウェアの実際のコンパイルは、 作る
.
このプログラムは、 メイクファイル
どのファイルを作成または更新するかを決定するルールに従います。 メイクファイル
手書きは、構文を知っている人にとっては理解しやすいです。
例えばこれ メイクファイル
ファイルに依存するプログラムをシンプルにコンパイルする プログラム.c
:
プログラム: program.c gcc -o program program.c
作る
確認する プログラム.c
前回のコンパイル以降に変更された。変更されていない場合は何もしない。変更されている場合は、 gcc
.

の メイクファイル
自動的に生成されるものは通常、はるかに複雑です。例えば、 メイクファイル
htop には 2,440 行あります:

ただし、細部まで理解する必要はありません。ソースコードを変更しない限り、そのまま実行してください。 作る
システムに任せれば良いのです。
ステップ 作る
大規模なプロジェクトでは数分以上かかる場合があります。失敗する場合は、通常、依存関係が不足していることが原因です。利点は、 作る
進行状況を保存し、再度実行するときに中断したところから再開します。
make installで終了
コンパイル後、作成された実行ファイルは通常、プロジェクトのルートまたはサブディレクトリに配置されます。 ビン
フルパスを使用して実行できます。

これはテストには便利ですが、長期的にはアクセスしやすい場所にインストールする必要があります。
目的 インストール
定義する メイクファイル
必要なファイルをコピーし、権限を設定します。デフォルトの場所は /usr/local/bin
、変更することもできます --プレフィックス
.
そのフォルダへの権限がない場合は、実行してください sudo インストール
管理者パスワードを提供します。
インストールディレクトリを変数に含める必要があります パス
完全なパスを指定せずに、名前だけでプログラムを実行できるようになります。