人感センサーを使った展示をしたい人達が身近にいるらしいので,自分でも作ってみることにしました.買ったのは以下のセンサーです.秋月電子さんがお盆休みということで,今回は amazon で買いました.
製作回路その他は後日公開しますが,この記事では題の通り「xc.h 見つからない問題」のみを取り扱います.
開発環境は以下の通りです.
今回の問題は,MPLAB X IDE v4.15 から v5.00 に移行して,XC8 もそれに伴い v1.45 から v2.00 に移行したため,ぶつかった問題です.
事の発端 - xc.h に赤い波線
以下の図は IDE を v5.00 に引き上げてからの図なので,正確には違います.ただ,こんな感じで赤い波線が引かれ,コードの補完が効かなかったため,非常に不便で解決しようと試みたものです.
実際であれば Path が表示されて,そこを見に行くことができます.以下のように,v2.00 と v1.45 ではディレクトリ構成が異なっており,IDE v4.15 で xc8 (v2.00) を使おうとすると,xc8 (v1,45) 以前のディレクトリ構成を単にそのまま使おうとして,ダメになっているようでした.
それで xc.h が見つからないという話になります.IDE のバージョンを最新にすれば解決するだろうという甘い気持ちで,MPlAB X IDE v5.00 をインストールし,プロジェクトを Clean Build してみたものの解決には至らず.
バージョンが変わっていて,この項目は見つけられず.
毎回やらねばならないため,ちょっと面倒だな...... と思ってしまう.
Build 失敗のエラーでググる
(902) no chip name specified; use "PICC --CHIPINFO" to see available chip names
このエラー内容でググってたら解決策にたどり着くのでは?と考え,もう少し Google と向き合っていると,以下の記事を見つけました.
https://www.microchip.com/forums/m1060549.aspx
aschen0866 氏の回答に似てる問題起きてるよと書いてあったので,リンクを見てみました.
https://www.microchip.com/forums/m1058617.aspx
davekw7x 氏の回答を見ると,ものぐさな自分でもできるくらい詳細な手順が書かれていました.最高.
I get this error when it is using xc8 rather than xc8-cc. (That's xc8.exe, xc8-cc.exe for Windows users) Go to Tools->Options->Embedded->Build Tools and look at the Compiler and Assembler settings for XC8 (v2.00). If they are for xc8, change them to xc8-cc. (You might try clicking the "Remove" button for XC8 (v2.00) and then clicking the "Scan for Build Tools" to see if it will come up with xc8-cc on its own. If not, make the changes manually.)
You may have to change the Standard setting in the Project->XC8 Global Options box to C90 and back to c99 to see the effect of the new setting when you re-compile. (Maybe even exit the IDE and restart.)
Bottom line: Once I got it to use xc8-cc, things went smoothly.
とりあえず,書いてある通りの手順を踏みます.
Tools -> Options -> Embedded -> Build Tools
まで辿りつきます.
look at the Compiler and Assembler settings for XC8 (v2.00). If they are for xc8, change them to xc8-cc. (You might try clicking the "Remove" button for XC8 (v2.00) and then clicking the "Scan for Build Tools" to see if it will come up with xc8-cc on its own. If not, make the changes manually.)
ということなので,XC8 (v2.00) を Remove して,Scan for Build Tools
を押します.
すると,C Compiler
と Assembler
の Path の末尾にある .exe
の手前が xc8
から xc8-cc
に変わりました.
とりあえず,これで Apply -> OK の流れ.
この後,Clean Build をすぐに試しましたが,赤い波線は解決せず...... と思って,もう一度 Option を開いて確認してみたり,ちょこまかしている間に,急に消えました.なぜ...... ただ,Build も通るし, GPIObits.
とか書いたらちゃんと補完効くようになったし,自分が抱えている課題は解決したので満足です.