おもちゃ、家電、もろもろの修理の足跡と備忘録

色々と忘れるので、趣味のメモ

PICkit3 MPLAB X/XC8 設定の備忘録 #include <xc.h>でエラーの対応

2021-04-04 06:11:27 | その他工作
これまでPIC16F88でProject開発をしてきて、PIC12F675(これまた古い)で新しいProjectを始めようとしてハマったのでメモ。
(MPLAB X IDE/5.35, XC8/2.20, C99)

#include でエラーが出る時の対処
これは、header file が見つからない場合に出る。
(ちなみに、<>でくくる場合はSystemのheader file、Userが作ったheader fileは、""でくくるんだそうです。)
このエラーが解決しないと、editerが既定の変数がわからないのでediter上でエラーが山程出る。

エラーの状況を確認する手立て:
  • Controlを押しながら、エラーの部分にマウスオーバすると、なんちゃら言ってくるので参考にする。以下でxc.hが見つかるようになっても、更にxc.hの中でその先が見つからない場合も同様なエラーになるが、Control+マウスオーバでその内容を見ると見つからないファイルがわかるので、参考にする。
  • View/IDE Log を見ると、エラーが出ているはずなので、参考にする。私の場合は、Logのエラーで、v1.48?のpathを読み込みに行っていたので、その辺りか、と当たりをつけて以下の対応をしました。
Compile環境の再設定
これは、IDE Logから、読み込むPathが古いXC8のpathを読み込んでいたため、適切なPathを再構築する、という手順。
  1. Tools/Options/Embedded/Build Tools で
  2. Toolchain: の該当するコンパイラを選択し、Removeする。
  3. Scan for Build Tools(右下)を押下して、再設定。Apply, OKで抜ける。
header fileの入っているinclude pathの設定
  1. Projectsウィンドウの、該当するProject名を右クリック/一番下のPropatiesを選択する
  2. Categoriesで、Conf:[default]を選択し、Compiler Toolchain:で該当するXC8のversionを選択する
  3. Categoriesで、XC8 Global Options/XC8 Compilerを選択する
  4. Option categories: Prreprocessing and messagesで、Include directoriesを確認する。行尾の「・・・」を押して、「Browse」し、
    1. C:\Progaram Files\Microchip\xc8\v2.20\pic\include (versionのところは合ったものを入れる) 同様に、
    2. C:\Progaram Files\Microchip\xc8\v2.20\pic\include\proc と2つ選択する。
  5. includeの方は、xc.h、procの方はデバイス用のheader fileが入っている
で、Apply/OK後、一旦全部閉じて、MPLAB Xを再起動。
私の場合は、まず、xc.hが見つからない、その後、12F675が見つからない、という状況でした。
個別のProject毎にやることではなくて、"System"で設定する話のような気もしますが、毎回同じ環境、同じChipで開発するわけは無いので、仕方ないのかもしれません。新しいChipで開発をするたびにやることになるのだと思います。
多分これでheader fileが見つからない状態は脱すると思う。