2017-10-03 22 views
2

私はArduinoで非常に新しくて、多分私の質問はばかげているでしょうが、私はそれを求めなければなりません!Arduinoプロジェクトにそのようなファイルやディレクトリがありません

私はgithubのから元projectをダウンロードし、私はそれが例/ mqtt_esp8266であり例をコンパイルしようとしたが、再び私が持っている私は私のnodeMcuチップ用mqttクライアントを作った、と私は、このエラー

/Users/mikevorisis/Downloads/pubsubclient-master/examples/mqtt_esp8266/mqtt_esp8266.ino:27:26: fatal error: PubSubClient.h: No such file or directory #include

を持っています同じ問題。

また、同じフォルダにPubSubClient.hを配置しようとしましたが、同じ問題が再び発生しました。

アイデア? ありがとうございます。

答えて

1

ダウンロードしてプロジェクトに組み込んだファイルは、おそらく実際にはヘッダファイルではありません。おそらく、その内容をgithubからコピーし、それを拡張子 ".h"のテキストファイルとして保存したテキストドキュメントに貼り付けたでしょう。

これは "filename.h.txt"という拡張子を持つようになりました。名前と拡張子は "filename.h"のみである必要があります。 save asを使用し、保存するときは「all files」を選択し、「filename.h」という名前を付けます。ファイル名を再入力することを忘れないでください。そうでない場合でも、すでに存在する "filename.h.txt"で自動入力できます。

ファイルの拡張子が正しい場合は、ソースコードファイルと同じフォルダに置きます。ソースファイルがどのディレクトリにあるかは、IDEに「別名で保存」することで確認できます。


この問題は、定義が不足している可能性があります。ライブラリファイルをヘッダーファイル形式で使用する場合、各ヘッダーファイルは、通常(この場合はyes)に.cppファイル(必ずしも同じ名前である必要はありません)を付ける必要があります。その理由は、ヘッダーファイルに宣言が含まれ、cppファイルには宣言の定義が含まれているからです。言い換えれば、ヘッダーファイルはライブラリで利用可能な機能の概要であり、cppファイルは実際にその機能を実装しています。


編集:あなたが実行しようとしている例も#include <ESP8266WiFi.h>、あなたが言及githubのリポジトリで使用できないファイルがあります。私はこれがWiFiモジュール用のライブラリであるとか、他の場所(製造元、他のgitまたは多分Arduino IDEが付属していますか?つまり、ヘッダーファイルと(おそらく).cppファイルをソースディレクトリに追加する必要があります。

+0

あなたの答えはありがたいです。私は拡張機能とその.h(私もあなたの言ったとおりに名前が変更されました)をチェックしましたが、何も変わりませんでした。私も同じフォルダに入れます。私は実際にgithubのリポジトリからサンプルを実行しようとします。チェックする時間があれば、エラーが表示されます。 –

+0

ヘッダーの.cppファイルも取得しましたが、ヘッダーファイルとソースと同じディレクトリにありますか? – Tellus

+0

はい私は同じフォルダにあります。espwifiがトリックを行うのと同じフォルダに入れたらチェックします –

関連する問題