如何为arduino编译V-USB?

时间:2012-12-24 11:24:54

标签: c++ assembly arduino avr-gcc

简单地说,我下载了V-USB for Arduino的端口,似乎无法编译随附的示例。尝试使用Arduino IDE 1.0.1

进行编译时,我收到以下消息
avr-gcc: error: unrecognized command line option '-assembler-with-cpp'

我理解这很可能是版本不兼容问题,可以通过将我的avr-gcc降级到旧版本来避免,但是可以使用avr-gcc的最新版本进行编译。 ?

关于环境的几点说明我正在尝试这个

  • 操作系统:Fedora版本17(Beefy Miracle)
  • avr-gcc :( Fedora 4.7.2-1.fc17)4.7.2
  • Arduino IDE :( arduino-1.0.1-1.fc17)1.0.1

2 个答案:

答案 0 :(得分:1)

-assembler-with-cpp选项指示编译器将所有后续文件视为需要预处理的汇编程序文件。通过快速浏览v-usb,它们为.asm文件提供了.S个包装器。您不需要使用它们,编译器将自动识别.S文件而无需任何选项。

如果问题不在上面详述的.asm包装器中,您可以将相关文件重命名为.S

你是否尝试过没有旗帜的编译?发生了什么事?

答案 1 :(得分:1)

通过Jester的提示,我设法通过将IDE更新为版本 1.0.3 (1.0.2也可以工作)来解决这个问题,它就像一个魅力。

所以我猜问题不是代码或编译器,问题是IDE 1.0.1 期待 avr-gcc 的旧版本和使用了一个不赞成使用的标志进行编译并且简单地失败了,因为新标识符上的标志不再可用,因此你要么必须降级编译器,要么升级IDE,从我的角度来看,升级始终是正确的选择。