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

テクニカル・ノート 47884

アーキテクチャ:

All

コンポーネント:

general

更新日:

2018/02/09 8:04

はじめに

このテクニカルノートは、IAR Embedded Workbench IDE の外から、すなわちコマンドラインからプロジェクトのビルドを行う方法について説明します。

解説

以下に示す方法は、IAR Embedded Workbench for Arm 用に作成された例ですが、他のターゲットデバイス用にも簡単に修正することができます。

 

方法 1 - コマンドラインからIarBuild.exe を実行

Debugという名前のビルド構成を持つtest.ewpについて、次のコマンドラインを使用して、プロジェクトをビルドできます:

<installation dir>\common\bin\IarBuild.exe test.ewp Debug

注: IarBuild.exe をパラメータなしで実行すると、使い方が表示されます。

 

再ビルドは次のコマンドラインを使用してください。 (コンパイラの出力するメッセージを全てログするオプションが追加されています):

<installation dir>\common\bin\IarBuild.exe test.ewp -build Debug -log all

 上記リビルドコマンドは、以下コマンドに対応します:

<installation dir>\common\bin\IarBuild.exe test.ewp -clean Debug -log all
<installation dir>\common\bin\IarBuild.exe test.ewp -make Debug -log all
 

方法 2 – コンパイラとリンカをコマンドラインから起動

コマンドラインから<installation directory>\arm\binフォルダのすべての.exeファイルをコマンドラインから起動することができます。 例えばiccarm.exeをパラメータ無で実行すると、有効なコマンドラインオプションのリストを表示します。

ビルドプロセスを自動化するために、ソースファイルごとにコンパイルを行う .batファイルを作成することも可能です。コマンドライン・パラメータを確認するには、IAR Embedded Workbench IDE でビルドフィルタ すべて を選択してください:

ビルドウィンドウ内 を右クリック して、フィルタレベル:すべて を選択

古いバージョンを使用している場合:

ツール > オプション > IDE オプション > メッセージ > ビルドメッセージの表示: '全て' を選択

 

1つのソースファイルをコンパイルする .bat ファイルの作成は、 iccarm.exe のフルパスにパラメータ(表示 > メッセージ > ビルド ウィンドウからコピーしたもの)を加えた以下のフォーマットで作成することができます:

<installation dir>\arm\bin\iccarm.exe <source-file> <options>

1つのソースファイルで動作が確認できれば、他のソースファイルのコマンドラインを.bat ファイルに追加してください。

 

リンクを実行する場合、コマンドラインオプション -f <file> は便利です。以下のように使用します:

<installation dir>\arm\bin\ilinkarm.exe -f options.xcl

ビルド ウィンドウから得たすべてのリンカパラメータを options.xcl ファイルに書いておきます。 (それぞれのパラメータは一行ごとに書く必要があります) 多くの場合、リンカーのコマンド行は非常に長くなる可能性があるため、–fオプションを使用してコマンドプロンプト行の長さに問題が生じないようにすることをお勧めします。

 

まとめ

コマンドラインから IarBuild.exeを使用して、またはIAR C / C ++コンパイラとILINKリンカを個別に呼び出すことによって IAR Embedded Workbench プロジェクトをビルドすることが可能です。コマンドラインのビルドの詳細については、ヘルプ > IDE プロジェクト管理およびビルドガイドを参照してください。

 

全ての製品名は、それぞれの所有者の商標または登録商標です

申し訳ございませんが、弊社サイトではInternet Explorerをサポートしていません。サイトをより快適にご利用いただくために、Chrome、Edge、Firefoxなどの最新ブラウザをお使いいただきますようお願いいたします。