これは簡単な問題です。スケッチ内でコードを 2 つのファイルに分割しようとしています。
test.ino:
void setup(){}
void loop(){ fn(); }
test.c:
char myChar = '?';
void fn(){ myChar++; }
次のようなさまざまな構成で test.h ファイルを使用してみました。
extern char myChar;
、char myChar;
void fn();
extern void fn();
また、さまざまなファイルに test.c および test.h ファイルを含めるさまざまな組み合わせがありますが、次のようなコンパイラ エラーが常に発生します。
test.cpp.o:(.data.myChar+0x0): `myChar' の複数定義
test.co:(.data.myChar+0x0): 最初にここで定義
または
test.cpp.o: 関数 `setup' 内:
C:\Program Files\arduino-1.0.4/test.ino:4: `fn()' への未定義の参照
私は本当にこれで私の髪を引っ張っています。どんな助けでも大歓迎です