日立製作所製SHマイコン用コンパイラ使用時の注意事項


ISaGRAF Ver.3で日立製作所製のSHマイコン(SuperHシリーズ)用のターゲットを開発している。コンパイラは日立総合開発環境をしている。
taio0tab.c ファイルをコンパイルすると "appli.h" がないというエラーが発生する。エラーメッセージは
Phase: SH C/C++ Compiler, File: [ターゲットのディレクトリ名]\SRC\taio0tab.c,dependency scan error
[ターゲットのディレクトリ名]\SRC\taio0tab.c 73: DC201 (E) A header file does not exist 'appli.h


"Build All"(全ファイルのコンパイル)を行うとこのエラーは出ないが、部分コンパイル(新しく変更された部分のみコンパイル)の設定を行うとこのエラーが出る。

原因
日立総合開発環境の仕様によるものです。

ISaGRAF Ver.3では、appli.h ファイルは、コンパイラ型ターゲットの生成に必要なファイルで、ソース中でインクルードしています。
一方、インタプリタ型のターゲットを生成する場合は、プリプロセッサの #ifdef 文などで appli.h はインクルードしないようになっています。そのため、通常はこのような問題が起きることはありません。
日立総合開発環境では、このようなプリプロセッサの #ifdef の構成に関係無く、ソース中に #include があればプロジェクトに必要なファイルと見なしてしまいます。生成時にこのような依存関係をもつファイルが無いと、上記のエラーが発生します。

対処
"Build All"(全ファイルのコンパイル)を行なってください。

最終更新:
2008-07-30 10:45
改訂:
1.0
評価点数: 4 (1 件の投票)
Chuck Norris has counted to infinity. Twice.

このカテゴリー内のレコード

タグ