よくある質問(FAQ)

【IARコンパイラ】OMF変換で「入力ファイルをオープンできませんでした」エラーが発生します。

OMF変換について

質問

【IARコンパイラ 固有】
IAR社製コンパイラを使用しています。作成したオブジェクトファイルをOMF変換すると「入力ファイルをオープンできませんでした」エラーが発生してOMF変換できません。考えられる原因を教えてください。

変換を始めます。
初期化中...
Error!! [init] 入力ファイルをオープンできませんでした。 ( *****.out )
処理を終了しています...
変換できませんでした。

回答

本エラーは、オブジェクトファイル内の「デバッグ情報」が未対応のため発生しています。 ※「カバレッジマスターwinAMS」で対応している「デバッグ情報」のフォーマットについては、下記ページの「オブジェクト形式」の欄をご覧ください。

■回避策
コンパイラの設定等で「デバッグ情報」を切り替え可能な場合は、「カバレッジマスターwinAMS」で対応している「デバッグ情報」に切り替えてコンパイル (オブジェクトファイルの作成 )を行ってください。※ 切り替えることができない場合は「カバレッジマスターwinAMS」で使用することはできません。

■ IARコンパイラ (V8.*) の事例
IARコンパイラ (V8.*)では、デフォルトではDWARF4 (Dwarf Ver.4) のデバッグ情報が生成されます。そのためデフォルトではOMF変換に失敗します。下図のように「--no_dwarf4」オプションを追加してリビルドすればエラーを回避できます。

★注意事項

(1) ビルド時にライブラリをリンクされている場合
ライブラリに未対応フォーマットのデバッグ情報が付加されていると生成されたオブジェクトファイルも未対応になりますのでご注意ください。
多くのライブラリはデバッグ情報なしで供給されていますが、念のためにライブラリのマニュアル等を精査ください。

(2)「--no_dwarf4」オプション未対応のケース
RL78用のコンパイラにおいて、あるバージョン以降「--no_dwarf4」に対応していないことが分かっています。
この場合、回避策は下記 (2つ) の何れかになります。

・「--no_dwarf4」オプションに対応しているコンパイラバージョンにバージョンダウンする。
・「カバレッジマスターゼネラル」をご利用いただく。