这应该是一个简单的问题。我正在尝试将代码拆分为草图中的两个文件:
测试.ino:
void setup(){}
void loop(){ fn(); }
测试.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:在函数“设置”中:
C:\Program Files\arduino-1.0.4/test.ino:4: undefined reference to `fn()'
我真的用这个把头发拉出来了。任何帮助将不胜感激