>我希望Xcode能够编译,但只有这样我才能在Xcode中调试.
>我不想使用Xcode编译或上传代码到Arduino板.我将在“使用外部编辑器”模式中使用Arduino IDE.
我做了什么(也作为可能想要做同样事情的人的未来参考):
>在项目设置中(单击左窗格中的项目文件)
>我已将编译器更改为GCC以避免许多错误.
>我已将以下路径添加到页眉搜索路径和库搜索路径:
> /Applications/Arduino.app/Contents/Resources/Java/harDWare/tools/avr/lib/gcc/avr/4.3.2/include
> /Applications/Arduino.app/Contents/Resources/Java/harDWare/tools/avr/avr/include
> /Applications/Arduino.app/Contents/Resources/Java/harDWare/arduino/cores/arduino
(如果您已在“应用程序”文件夹以外的位置安装了Arduino.app,则需要相应地调整路径.)
在main.cpp中,我已经包含了< WProgram.h>,但这还不够.我得到了未定义的标识符错误(对于SPCR,SPE,MSTR,SPR1,SPR0),因为无法将-mmcu = somechipname作为标志传递给编译器,这导致无法定义设备和avr / io.h无法包含定义这些符号的文件.我通过手动包括< avr / iom328p.h>来解决这个问题.这是我芯片的合适头文件.
那是我有多远.
现在我收到这些错误:
Undefined symbols for architecture i386: "_init",referenced from: _main in main.o "_setup",referenced from: _main in main.o "_loop",referenced from: _main in main.o "_pinMode",referenced from: SBSetup() in main.o "_digitalWrite",referenced from: SBSetup() in main.o
整个main.cpp包括邪恶的违规代码是这样的:
#include <WProgram.h>#include <avr/iom328p.h> // Getting around warning "device type not defined"#define NumLEDs 25#define clockpin 13 // CI#define enablepin 10 // EI#define latchpin 9 // li#define datAPIn 11 // DIint LEDChannels[NumLEDs][3] = {0};int SB_CommandMode;int SB_RedCommand;int SB_GreenCommand;int SB_BlueCommand;voID SBSetup(voID) { pinMode(datAPIn,OUTPUT); pinMode(latchpin,OUTPUT); pinMode(enablepin,OUTPUT); pinMode(clockpin,OUTPUT); SPCR = (1<<SPE)|(1<<MSTR)|(0<<SPR1)|(0<<SPR0); digitalWrite(latchpin,LOW); digitalWrite(enablepin,LOW);}int main(voID){ init(); setup(); for (;;) loop(); return 0;}
我对此有何看法?
解决方法 这两个很棒的引用让你可以设置XCode,不仅用于编译,还用于上传:> http://www.quietless.com/kitchen/setting-up-xcode-to-compile-upload-to-an-arduino-atmega328-duemilanove/
> https://github.com/timknapen/Arduino-With-XCode#readme
第一个解释了您需要的其他工具,第二个解释了XCode 4.2(和以前的版本)的项目模板.
我已经使用了它们并且它有效.
总结以上是内存溢出为你收集整理的c – 为Arduino开发的Xcode全部内容,希望文章能够帮你解决c – 为Arduino开发的Xcode所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)