質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
IDE

IDE、統合開発環境((Integrated Development Environment)とは、テキストエディタ以上の機能を提供して、ソフトウェア開発を効率をあげるコンピュータプログラムを指す。

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

Q&A

2回答

6498閲覧

Arduino IDEがライブラリのフォルダパスを読み込みに行っていない?(mac PC)

MaeharaKenji

総合スコア86

IDE

IDE、統合開発環境((Integrated Development Environment)とは、テキストエディタ以上の機能を提供して、ソフトウェア開発を効率をあげるコンピュータプログラムを指す。

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

0グッド

0クリップ

投稿2020/06/21 04:12

macのPCに入れたArduino IDEを立ち上げて、次のgithubプロジェクトををコンパイルしました。

https://github.com/KenjiMaehara/esp32_ILI9488Ctl/tree/master/exsamples/20200610_rtosTest

このプロジェクトは、勤務先のwindows PCでは正常にコンパイルできているのですが、なぜか自宅のmac PCのArduinoではこのようなエラー内容が出てきます。

Arduino:1.8.12 (Mac OS X), ボード:"ESP32 Dev Module, Disabled, Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS), 240MHz (WiFi/BT), QIO, 80MHz, 4MB (32Mb), 921600, None" TASK_TFTScreen:11:56: fatal error: TFT_eSPI.h: No such file or directory 「SD.h」に対して複数のライブラリが見つかりました compilation terminated. 使用済:/Users/myUser/Library/Arduino15/packages/esp32/hardware/esp32/1.0.4/libraries/SD 未使用:/Users/myUser/Desktop/Arduino.app/Contents/Java/libraries/SD exit status 1 TFT_eSPI.h: No such file or directory 「ファイル」メニューの「環境設定」から 「より詳細な情報を表示する:コンパイル」を有効にすると より詳しい情報が表示されます。

Arduino IDEのライブラリ設定パスは
”/Users/myUser/Documents/Arduino/libraries”

このフォルダに設定されており、このフォルダの中に”TFT_eSPI”というライブラリフォルダが入っており、TFT_eSPI.hも入っているのですが、このファイルを読んでいないような気がします。

このような場合、ちゃんとこのTFT_eSPI.hをコンパイル時に読み込んでいるのかどうか確認する方法など、解決方法を教えて頂きますよう、宜しく御願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

私の環境(Windows/ArduinoIDE1.8.12)では

Text

1TASK_TFTScreen:41:7: error: 'class TFT_eSPI' has no member named 'setTouch' 2 3 tft.setTouch(calData); 4 5 ^

となりますがそれはともかく。

https://teratail.com/questions/269817
と同根のような気がします。

他のシステムの開発環境も入れていて、それらで使う環境変数がArduino IDE内で使っているgccに干渉している、なんていう可能性はないでしょうか。

それはともかく。ちょっとArduino IDEのやっていることを探れないかと見てみましたが挫折しました。以下、Windows環境Arduino IDE1.8.12での話です。Mac版で多少の違いがあったりするかも知れません。

Arduino IDEの[ファイル]-[環境設定]で、[より詳細な情報を表示する]-[コンパイル]にチェックを入れてコンパイルを実行すると、コンパイル過程のコマンドが怒涛に表示されます。これを先頭からみてみると、arduino-builder というコマンドがあり、ここでライブラリの検出等を行っている気配が見えてきます。これのようですが、読むと今後Arduino CLIに移行みたいなことも書いてあってどうなんでしょう。
ともかく、このコマンドに-librariesというコマンドライン引数があり、C:\Users*\Documents\Arduino\libraries等のディレクトリが指定されています。これが、ライブラリの検索の親ディレクトリとなるのでしょう。
そのコマンドからgccを呼び出して、まず最小構成?のインクルードディレクトリでコンパイルを試み、失敗すると失敗したヘッダファイルについて先程のディレクトリからライブラリを探して追加してまたコンパイルを試みてはディレクトリを追加することを繰り返して#includeのエラーが無くなるまで頑張る、というある意味原始的な方法でライブラリを探索している様子が見えてきます。

ということなので、このarduino-builderがどの様にライブラリを検出しているかがわからないか、arduino-builderのコマンドを「より詳細な情報」からコピペして実行してみたのですがイマイチその辺の情報が得られそうでなく、その辺で挫折しています。ソースもこれGo言語なんですか? 短いプログラムではあるけれど守備範囲外なので...

なお、このarduino-builderのバージョンが1.5.1以前だったら、リリースノートの1.5.2の項に
Fix library priority selection
なんてのはあるので、差し替えてみるのはひとつ試せる手段かも。(Windows版のArduino IDE 1.8.12では1.5.2が入っていました。最新は1.5.4がリリースされているようです) 逆にエンバグだったら旧版への差し替えが効いたり、とか疑いだすとキリがありませんが。

投稿2020/06/21 08:58

thkana

総合スコア7639

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

thkana

2020/06/21 13:27

そちらのarduino-builderのパラメータでは -libraries /Users/maeharakenji/Documents/Arduino/libraries/libraries 一方こちらでは -libraries C:\Users\thkana\Documents\Arduino\libraries 多分、これまでの話のファイル構造からするとlibraries/librariesはおかしい... とりあえずお試しとして、libraries以下にlibrariesディレクトリを掘ってライブラリを収めてみたらどうなるでしょう。(つまり、コマンドに対して実際のファイルの格納状態を合わせてしまう) arduino-builderのコマンドは誰が生成しているのかは私にはわかっていません。多分arduino IDEのアプリケーションが直接作り出しているんじゃないかと思うんですが、なんでそんなことになるのか... かなり根が深かったりしそうなので、arduino公式のForum https://forum.arduino.cc/index.php?board=2.0 あたりで情報を募ってみるのがよさそうに思います。
guest

0

ライブラリパスではなくて、インクルードパスの設定をしましょう

投稿2020/06/21 04:23

y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MaeharaKenji

2020/06/21 05:20

回答頂きありがとうございます。”インクルードパス”の設定方法はどのようにすれば良いのでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問