Skip to main content

IAR Embedded Workbench for Arm 9.70.x

IARアーカイブツール — iarchive

このセクションの内容:

IARアーカイブツールiarchiveは、複数のELFオブジェクトファイルから1つのライブラリ(アーカイブ)を作成できます。また、iarchiveは、ELFライブラリの操作にも使用できます。

ライブラリファイルには、いくつかの再配置可能ELFオブジェクトモジュールが含まれており、それぞれ個別にリンカで使用できます。リンカに直接指定されるオブジェクトモジュールとは対照的に、ライブラリの各モジュールは、必要な場合のみ追加されます。

IDEでライブラリをビルドする方法については、『プロジェクト管理およびビルドのユーザードキュメント』を参照してください。

呼び出し構文

アーカイブビルダの呼び出し構文は以下のとおりです。

iarchive [command] [libraryfile] [objectfiles] [options]
パラメータ

パラメータを以下に示します。

パラメータ

説明

command

実行する操作を定義するコマンドラインオプションです。commandが省略されると、デフォルトでは--createが使用されます。コマンドラインのどこででもcommandを指定できます。

libraryfile

操作対象のライブラリファイルです。このように指定した場合、最初のオブジェクトファイルの前に表示されなければなりません。オプション-oを使用してライブラリファイルを指定することもできます。

objectfiles

コマンドの引数としての1つまたは複数のオブジェクトファイル。コマンドの中にはオブジェクトファイル引数をとらないものもあります。

オプション

アーカイブツールの動作を変更するオプションのコマンドラインオプション。これらのオプションは、コマンドラインの任意の場所に配置できます。

表111 iarchiveパラメータ 


以下の例では、ソースオブジェクトファイルmodule1.omodule.2.omodule3.oからmylibrary.aという名前のライブラリファイルを作成します。

iarchive mylibrary.a module1.o module2.o module3.o.

以下の例では、mylibrary.aの内容がリストされます。

iarchive ‑‑toc mylibrary.a

以下の例では、ライブラリ内のmodule3.omodule3.oファイルの内容と置き換え、module4.omylibrary.aの後に追加します。

iarchive ‑‑replace mylibrary.a module3.o module4.o

iarchiveコマンドの概要

以下の表に、iarchiveコマンドの概要を示します

コマンドラインオプション

説明

‑‑create

リストされたオブジェクトファイルを含むライブラリを作成します。

‑‑delete、-d

リストされたオブジェクトファイルをライブラリから削除します。

‑‑extract、-x

リストされたオブジェクトファイルをライブラリから抽出します。

‑‑replace、-r

リストされたオブジェクトファイルにより、ライブラリでの置換または追加を行います。

‑‑symbols

ライブラリ内のファイルによって定義されているシンボルをすべてリストします。

‑‑toc、-t

ライブラリ内のファイルすべてリストします。

表112 iarchiveコマンドの概要 


詳細については、ユーティリティオプションの説明を参照してください。

iarchiveオプションの概要

以下の表に、iarchiveのコマンドラインオプションの一覧を示します。

コマンドラインオプション

説明

-f

コマンドラインを拡張します。

‑‑f

オプションで依存関係を指定して、コマンドラインを拡張します。

‑‑fake_time

同じタイムスタンプのライブラリファイルを生成します。

‑‑no_bom

UTF-8出力ファイルのバイト オーダーマークを省略します。

‑‑output, -o

ライブラリファイルを指定

‑‑silent

出力抑止操作を設定します。

‑‑text_out

テキスト出力ファイルのエンコードを指定します。

‑‑utf8_text_in

テキスト入力ファイルにUTF-8エンコードを使用します。

‑‑verbose、-V

実行されたすべての操作を報告します。

‑‑version

ツールの出力をコンソールに送信し、終了します。

‑‑vtoc

ライブラリにファイルの冗長リストを作成します。

表113 iarchiveオプションの概要 


詳細については、ユーティリティオプションの説明を参照してください。

診断メッセージ

ここでは、iarchiveで生成されたメッセージについて説明します。

La001: could not open file filename

iarchiveがオブジェクトファイルを開くことができませんでした。

La002: illegal path pathname

パスpathnameは有効なパスではありません。

La006: too many parameters to cmd command

単一のライブラリファイルのみを指定可能なコマンドに、オブジェクトモジュールのリストがパラメータとして指定されました。

La007: too few parameters to cmd command

オブジェクトモジュールのリストを指定可能なコマンドが発行されましたが、必要なモジュールが指定されていません。

La008: lib is not a library file

ライブラリファイルが基本構文チェックをパスしませんでした。このファイルはライブラリファイルを意図したものではない可能性があります。

La009: lib has no symbol table

ライブラリファイルに必要なシンボル情報が含まれていません。ファイルがライブラリファイルを意図したものではないか、ファイルにELFオブジェクトモジュールが含まれていない可能性があります。

La010: no library parameter given

ツールが操作対象のライブラリを特定できませんでした。ライブラリファイルが指定されていない可能性があります。

La011: file file already exists

同じ名前のファイルがすでに存在するため、ファイルを作成できませんでした。

La013: file confusions, lib given as both library and object

オブジェクトモジュールのリストにライブラリファイルも記述されています。

La014: module module not present in archive lib

指定されたオブジェクトモジュールがアーカイブで見つかりませんでした。

La015: internal error

呼び出しによりiarchiveで予期しないエラーが発生しました。

Ms003: could not open file filename for writing

iarchiveが、書込み用のアーカイブファイルを開くことができませんでした。ライト禁止になっていないか確認してください。

Ms004: problem writing to file filename

ファイルfilenameへの書込み中にエラーが発生しました。ボリュームがいっぱいであることが原因と考えられます。

Ms005: problem closing file filename

ファイルfilenameを閉じているときにエラーが発生しました。