コード生成にて、コードが自動的に作られ、その後、以前使用していたCのソースファイルを追加しました。
追加したシース内で、DI();やEI();を使うため、#include "r_cg_macrodriver.h"を追加しましたが、
(E) E0802 r_cg_macrodriver.h(34) : CC78K0R error E0802: Illegal preprocess directive r_cg_macrodriver.h 34 AAA.mtpj
というエラーが出ます。
解決方法はありますか?
チョコです。
r_cg_macrodriver.hの34行目に#pragmaなど記述されて
いるかと思いますが、それより前に命令が記述されていない
でしょうか。
r_cg_macrodriver.h自体が問題ない場合でもそれより前で
includeしたヘッダにそのような記述があると、このような
エラーが出る可能性があるので、includeの順番を入れ替える
等することも考えられます。
私も今勉強中ですが、サンプルプログラムに"r_cg_macrodriver.h"の以下の2つのバージョンがありました。。
Creation Date:2015/08/27 (#pragma記述なし)
Creation date:2016/11/07 (#pragma記述あり)
2015/08/27と同一プロジェクトのファイルの一部を2016/11/07以降のプロジェクトに組み込もうとしたときにE0802のエラーが発生しました。
includeの順番を入れ替えて解決しました。
特に"r_cg_macrodriver.h"が他のヘッダーファイルにincludeされているときは注意が必要ですね。