これまで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を再構築する、という手順。
- Tools/Options/Embedded/Build Tools で
- Toolchain: の該当するコンパイラを選択し、Removeする。
- Scan for Build Tools(右下)を押下して、再設定。Apply, OKで抜ける。
header fileの入っているinclude pathの設定
- Projectsウィンドウの、該当するProject名を右クリック/一番下のPropatiesを選択する
- Categoriesで、Conf:[default]を選択し、Compiler Toolchain:で該当するXC8のversionを選択する
- Categoriesで、XC8 Global Options/XC8 Compilerを選択する
- Option categories: Prreprocessing and messagesで、Include directoriesを確認する。行尾の「・・・」を押して、「Browse」し、
- C:\Progaram Files\Microchip\xc8\v2.20\pic\include (versionのところは合ったものを入れる) 同様に、
- C:\Progaram Files\Microchip\xc8\v2.20\pic\include\proc と2つ選択する。
- includeの方は、xc.h、procの方はデバイス用のheader fileが入っている
で、Apply/OK後、一旦全部閉じて、MPLAB Xを再起動。
私の場合は、まず、xc.hが見つからない、その後、12F675が見つからない、という状況でした。
個別のProject毎にやることではなくて、"System"で設定する話のような気もしますが、毎回同じ環境、同じChipで開発するわけは無いので、仕方ないのかもしれません。新しいChipで開発をするたびにやることになるのだと思います。
多分これでheader fileが見つからない状態は脱すると思う。