开源改变世界

Marlin 1.0.0 不会为 Arduino 1.0.1 上的 atmega1284p 编译 #243

推推 grbl 2年前 (2023-02-05) 200次浏览
关闭
没有人 打开这个问题 2012 年 9 月 11 日 · 6条评论
关闭

Marlin 1.0.0 不会为 Arduino 1.0.1 上的 atmega1284p 编译#243

没有人 打开这个问题 2012 年 9 月 11 日 · 6条评论

评论

Marlin 1.0.0 不会为 Arduino 1.0.1 上的 atmega1284p 编译 #243
贡献者

晚上好。

根据主题——默认情况下编译抛出:-

在 cardreader.cpp:1 包含的文件中:
/Marlin.h:32:25: 错误:Arduino.h: 没有这样的文件或目录
在 /Marlin.h:38 包含的文件中,
来自 cardreader.cpp:1:
MarlinSerial。 h:
115 : 错误:在 ‘&’ 标记之前应为 ‘,’ 或 ‘…
‘ ,’ 或 ‘…’ 在 ‘&’ 标记之前
MarlinSerial.h:134: 错误:ISO C++ 禁止声明没有类型的 ‘String’
/MarlinSerial.h: 在成员函数 ‘void MarlinSerial::print(int)’ 中:
MarlinSerial.h:117: 错误:’s’ 未在此范围内声明

所以我改变了:-

如果阿杜诺 >= 100

#if defined( AVR_ATmega644P )
#include “WProgram.h”
#else
#include “Arduino.h”
#endif

别的

#include “WProgram.h”

万一

如果阿杜诺 >= 100

#if定义(AVR_ATmega644P)|| 定义(AVR_ATmega1284P
#include“WProgram.h”
#else
#include“Arduino.h”
#endif

别的

#include “WProgram.h”

万一

但是现在 LCD 库有同样的问题:-

F:\Program Files (x86)\arduino-1.0.1\libraries\LiquidCrystal\LiquidCrystal.cpp:6:21: error: Arduino.h: No such file or directory
[剪切]

在库的标题中添加了相同的代码,并且…:-

在 F:\Program Files (x86)\arduino-1.0.1\libraries\LiquidCrystal\LiquidCrystal.cpp:1 中包含的文件中:
F:\Program Files (x86)\arduino-1.0.1\libraries\LiquidCrystal/LiquidCrystal。 h:82: 错误:为“virtual size_t LiquidCrystal::write(uint8_t)”指定的返回类型冲突
F:\Program Files (x86)\arduino-1.0.1\hardware\Sanguino\cores\arduino/Print.h:40 :错误:覆盖’virtual void Print :: write(uint8_t)’

我是在做一些明显错误的事情,还是需要修复?

谢谢,
马丁

Marlin 1.0.0 不会为 Arduino 1.0.1 上的 atmega1284p 编译 #243
贡献者

你有基于 Sanguino 的 Borad 吗?你有什么板子?

试试这个我的版本:https ://github.com/Drakelive/Marlin.git

如果你有 Gen 6 或 Gen 6 Deluxe 使用文件夹“Boards”……目标“Sanguinololu 1.2 及以上版本”

Marlin 1.0.0 不会为 Arduino 1.0.1 上的 atmega1284p 编译 #243
贡献者作者

你好。我正在使用 Sanguinololu 1.3b。Marlin 带有板定义,但不会编译。我还下载了一些其他的电路板定义,现在因为我不在家而找不到它,但那也不会编译。我想这与这些有关,因为它可以编译为 Arduino Mega 或其他名称。
可以试试你的版本。它有什么不同?快速浏览了一下,我猜是这些,我称之为董事会定义?
谢谢,马丁

Marlin 1.0.0 不会为 Arduino 1.0.1 上的 atmega1284p 编译 #243
贡献者

我没有修改 Marlin 代码,我只添加了文件夹“Boards”
这个文件夹“Boards”允许您为“Gen6 & Gen6 Deluxe”和 Sanguinololu 板编译 Marlin。
Sanguino 文件夹不是必需的,可以删除。
在 Arduino 编译器选项中,您必须选择“Sanguinololu 1.2 及更高版本”,您会看到编译完美。

Marlin 1.0.0 不会为 Arduino 1.0.1 上的 atmega1284p 编译 #243
贡献者作者

嗯,不正确。它不会在 Arduino 1.0.1 上编译。在 arduino-0023 上运行良好。
这是你得到的错误:

在 cardreader.cpp:1 包含的文件中:
/Marlin.h:32:25: 错误:Arduino.h: 没有这样的文件或目录
在 /Marlin.h:38 包含的文件中,
来自 cardreader.cpp:1:
MarlinSerial。 h:
115 : 错误:在 ‘&’ 标记之前应为 ‘,’ 或 ‘…
‘ ,’ 或 ‘…’ 在 ‘&’ 标记之前
MarlinSerial.h:134: 错误:ISO C++ 禁止声明没有类型的 ‘String’
/MarlinSerial.h: 在成员函数 ‘void MarlinSerial::print(int)’ 中:
MarlinSerial.h:117: 错误:’s’ 未在此范围内声明

我正在使用这些板定义:https ://github.com/jmgiacalone/sanguino1284p

Marlin 的默认拉动,将板类型更改为 62 并编译。在 arduino-0023 上工作正常,在 1.0.1 上抛出以上错误…

Marlin 1.0.0 不会为 Arduino 1.0.1 上的 atmega1284p 编译 #243
贡献者作者

我很抱歉。我一定是把这些配置搞砸了。重新安装 1.0.1 并再次执行它解决了问题……
真的很抱歉,看起来我必须更加努力;-)