2

Arduino の CapSense ライブラリを使用しようとしています。ただし、「CapSenseSketch」と呼ばれるパッケージに含まれているサンプルを実行できません。ファイルを開いて実行しようとすると (Arduino 1.0 と 1.0.1 の両方を試しました)、「CapSense は型に名前を付けていません」というコンパイラ エラーが発生します。

CapSenseSketch.cpp:1:22: error: CapSense.h: No such file or directory
CapSenseSketch:11: error: 'CapSense' does not name a type
CapSenseSketch:12: error: 'CapSense' does not name a type
CapSenseSketch:13: error: 'CapSense' does not name a type
CapSenseSketch.cpp: In function 'void setup()':
CapSenseSketch:17: error: 'cs_4_2' was not declared in this scope
CapSenseSketch.cpp: In function 'void loop()':
CapSenseSketch:24: error: 'cs_4_2' was not declared in this scope
CapSenseSketch:25: error: 'cs_4_6' was not declared in this scope
CapSenseSketch:26: error: 'cs_4_8' was not declared in this scope

コードの先頭に include ステートメントがあり、

#include <CapSense.h>

それが問題だと思ったので、括弧を引用符に変更しても、「コンパイル中にエラーが発生しました」というエラーが表示されます。

CapSenseSketch.cpp.o: In function `__static_initialization_and_destruction_0':
CapSenseSketch.cpp:15: undefined reference to `CapSense::CapSense(unsigned char, unsigned char)'
CapSenseSketch.cpp:16: undefined reference to `CapSense::CapSense(unsigned char, unsigned char)'
CapSenseSketch.cpp:17: undefined reference to `CapSense::CapSense(unsigned char, unsigned char)'
CapSenseSketch.cpp.o: In function `loop':
CapSenseSketch.cpp:28: undefined reference to `CapSense::capSense(unsigned char)'
CapSenseSketch.cpp:29: undefined reference to `CapSense::capSense(unsigned char)'
CapSenseSketch.cpp:30: undefined reference to `CapSense::capSense(unsigned char)'
CapSenseSketch.cpp.o: In function `setup':
CapSenseSketch.cpp:21: undefined reference to `CapSense::set_CS_AutocaL_Millis(unsigned long)'

何か案は?私は別のコンピューターで CapSense を使用しており、括弧を引用符に変更するとうまくいきましたが、今はあまり効果がないようです。

4

1 に答える 1

3

外部ファイルを含めることは、arduino ide では少し異なるようです。コードの先頭に単に include ステートメントを含めるだけでは十分ではありません。代わりに、使用するすべての外部ファイルに対して、手動で [スケッチ] > [ファイルを追加] に移動する必要があります。私の場合、使用しようとしていた 2 つのファイルのうちの 1 つに対してのみこれを行いました。

于 2012-07-26T13:55:51.187 に答える