COBOL コードのコンパイル

プログラムを実行できるようにするには、ソース コードをコンパイルする必要があります。

デフォルトでは、プロジェクトを保存するたびに、自動的にプロジェクトがビルドされます。これにより、リソースが変更されるたびに、増分ビルドが開始され、前回のビルド後に変更されたすべてのリソースがリビルドされます。プロジェクトをクリーンアップすることにより、手動でビルドすることもできます。

コンパイルを構成するには、次の手法を使用します。

コンパイラは、検出したエラーを重大度のレベルとともに記録します。エラーの重大度には、情報メッセージからコンパイラの動作を停止させる致命的なエラーまで、複数のレベルがあります。

コンパイルするソース コードに、標準の 7 ビット ASCII 文字セット以外の文字 (アクセント文字や、マルチバイト文字セットに属する文字など) が含まれている場合は、ロケールがそれらの文字のソース エンコーディングと一致するように正しく設定されていることを確認する必要があります。UNIX では、LANG、LC_CTYPE、または LC_ALL を適切に設定します。これらの変数は、それぞれ前の変数よりも優先されます。Windows では、コントロール パネルの [地域と言語] でシステム ロケールを設定します。

コンパイルする際に、コンパイラは実行可能コードを直接生成できるほか、オブジェクト コードも生成できます。オブジェクト コード自体は実行可能ではなく、ランタイム システムにリンクして実行可能ファイルを作成する必要があります。 プロジェクトが .int および .gnt にビルドする設定になっている場合、デフォルトでコンパイラは構文チェックの段階で .int コードを生成し、生成の段階で .gnt コードを生成できます。この動作は、プロジェクトまたはファイルのプロパティから変更できます。

IDE でのコンパイル

デフォルトでは、Eclipse は、ファイルを保存したり、ファイルやプロジェクトのプロパティを変更したりするたびに、自動的にプロジェクトをビルドするように構成されています。自動ビルドをオフにするには、[ウィンドウ > 設定 > 一般 > ワークスペース] で [自動的にビルド] のチェック マークを外します。

自動ビルドが有効になっていなければ、いつでもプロジェクトをビルドできます。プロジェクトをビルドするには、COBOL エクスプローラー ビューでプロジェクトを選択して [プロジェクト] をクリックしてから、[プロジェクトのビルド] をクリックして現在選択されているプロジェクトをビルドするか、[すべてビルド] をクリックして現在のワークスペース内のすべてのプロジェクトをビルドするか、[Build Working Set] をクリックしてワークスペース内のプロジェクトのサブセットをビルドすることができます。

重要: RDBMS を使用するアプリケーションでは、ビルド構成にいくつかの追加指令の設定が必要となる場合があります。

コマンド ラインからのコンパイル

コマンド ラインでは、cobol コマンドを使用してリンクせずにコンパイルする(Windows)か、cbllink ユーティリティ(Windows) または cob (UNIX) コマンドを使用してプログラムを 1 ステップでコンパイルおよびリンクすることができます。

必要なすべての情報をコマンド ラインで指定することも、コンパイラのプロンプトを使用することもできます。

詳細については、「コマンド ライン リファレンス」を参照してください。

ビルド中に報告されたエラー

Eclipse では、ソース内で検出されたエラーを [問題] ビューおよび [コンソール] ビューですべて報告します。

エラーを生成するコード行に移動するには、行番号がある [問題] ビューでエラーをダブルクリックします。

または、[コンソール] ビューでエラーがあるソース ファイルのリンクを使用します。ほとんどのシナリオでは、コピーブックでエラーが発生した場合は、[コンソール] ビューのリンクを使用すると、そのコピーブックを参照するソース ファイルのコンテキストでコピーブックが開きます。ただし、コピーブックがリモートのスタンドアロン ソース ファイルによって参照されている場合、コピーブックはコンテキストで開かれません。

この製品では、ビルド エラーの上限が 10,000 個に設定されています。この数に達すると、Eclipse はビルドを中止し、ビルドがマシン上で過度のメモリを占有しないようにします。この場合、一部のソース ファイルがコンパイルされない可能性があります。アプリケーションをコンパイルするには、報告された問題を修正してから、プロジェクト全体をリビルドする必要があります。