注释
|
看起来你有多个 Grbl 安装。一个在工作目录中,另一个在 Arduino 库中。 |
|
我不认为这是问题所在。我再次尝试,这次从库目录加载 grblUpload:
仍然是那些错误信息。 |
|
如果您以任何方式更改了 Grbl 示例上传草图,也会发生此类错误。它应该只有 grbl.h 文件的包含行。同样,请确保从所有 Arduino 搜索路径中删除所有 Grbl 源文件。只能有一个。 |
|
grblUpload 草图没有改变。
然后我删除了 Arduino IDE 首选项目录的内容
接下来,我再次将 grbl 文件夹复制回 Arduino IDE 库文件夹,并启动 Arduino IDE。打开 grblUpload 草图,然后按“上传”:
如果需要,我也可以尝试完全删除 Arduino IDE。 |
|
@tingox: 好吧不知道你要告诉你什么。我刚刚下载了最新版本的 Arduino IDE 1.8.3 (Mac OS X) 来测试它们是否改变了什么。他们没有。通过“添加 .ZIP 库”导入并使用 UNO 板编译 GrblUpload 示例草图可以正常工作。没有错误。 您的系统肯定有问题。不确定它是 Linux 版本还是你安装的东西。如果是 Linux 版本,早在 5 月份发布 IDE 版本时我们就会听到问题。所以这会给你的系统留下一些东西。 您始终可以使用 Makefile。它将确保不包含 Arduino 库文件。 不幸的是,我没有时间进一步帮助你。我有一些与工作相关的截止日期需要完成。 |
|
还要确保您正在复制 |
|
你好,
2017 年 7 月 11 日星期二晚上 7:01,Sonny Jeon ***@***.***> 写道:另外请确保您正在复制下载的 ZIP 中的 grbl 文件夹。不是解压后的文件夹。正如 wiki 说明明确指出的那样。好吧,如果我尝试选择 zip 文件,我只能选择 zip 文件
本身(Arduino IDE 的对话框不允许我选择 zip 文件中的任何内容),我最终得到错误:如果我先解压 zip 文件,指定的文件夹/zip 文件不包含有效的库,并且然后在 grbl-xxx 文件夹中添加 grbl 文件夹,我得到这个: java.io.FileNotFoundException: /home/tingo/dl/grbl/grbl-1.1e.20170114/grbl/grbl (No such file or directory) No,从头开始,我(终于)弄明白了:在您可以选择文件和文件夹的对话框中,左侧有一个文件夹窗格,右侧有一个文件窗格。要选择一个文件夹(在本例中为 grbl-xxx 文件夹内的“grbl”文件夹),您必须在左窗格(文件夹)中选择它 – 如果您双击该文件夹(就像您选择一个文件一样,您会得到上面的错误)。这对许多(大多数?)人来说可能是显而易见的——但对我而言并非如此。所以我学到了一些东西。现在 grblUpload 草图编译没有问题(我没有将 Arduino 连接到这台机器,所以我现在不能尝试上传,但我怀疑它会毫无问题地工作)。所以是的,用户错误。添加库时,Arduino IDE 是否应该能够“查看”.zip 文件?如果没有,也许文档可以改进——提到在添加之前需要解压缩文件(至少在 Linux 上)。关于“提供帮助的时间”——我报告我使用的项目中的问题,希望它能有所帮助,并且有人会在有人抽出时间查看报告时查看报告。我当然不希望任何人充当“服务台” 并回答/跟进我的报告,就好像他们这样做是得到报酬一样。所以请在时间允许的情况下解决问题,不要超过这个时间。祝你今天过得愉快。—— 此致,托芬·英戈尔森
|
|
@tingox: wiki在此处明确说明要在第一步中解压缩下载的 .ZIP 文件。然后它列出了在步骤 3 中添加文件夹的过程。您在尝试“添加 .ZIP 库”时遇到的错误应该是您做错了什么的信号。 请理解,Linux 安装可能而且确实会变得非常棘手,这取决于用户在他们的机器上安装了什么以及他们过去知道或忘记的改变/黑客攻击的东西。如果我要求您检查的 3 件事没有奏效,这些都是常见问题(并且很容易搜索),那么很可能是您的 Linux 安装有问题。不可能知道用户对 Linux 的体验水平以及他们是否知道他们在说什么。解决这些问题通常会成为来回的大量时间。通常解决方案是与 Grbl 完全无关的问题。这就是我所说的没有时间帮助您。 |
|
Arduino 集成开发环境 1.8.5 tl;dr:我认为 Arduino IDE 在某些情况下会在 .ino 文件的顶部添加 include 行。 我在构建 grblUpload.ino 时看到了类似的问题。我正在使用克隆的存储库,并将 grbl 目录符号链接到我的 Arduino 库目录中(工作正常。)但是在不更改任何内容的情况下进行编译会导致出现问题,因为缺少定义。我可以通过更改 config.h 中包含 grbl.h 的位置来克服它,但后来我阅读了本期的讨论。 我的 grblUpload.ino 在顶部插入了一堆包含。我没有这样做,git 说它们不在文件的 repo 版本中。剩下的就是 Arduino IDE。它是否将这些包含作为某种(错误的)优化尝试添加?也许在添加库时?我只是将两个改变的(一个是我的,一个是其他的)文件重置为 HEAD,验证了额外的包含不在 grblUpload.ino 中,并且重新编译没有问题。我怀疑是 Ardunio IDE 让我着迷。 我还没有完全弄明白,但我认为值得注意(对于像我一样搜索问题的任何人)仅仅因为你没有修改 grblUpload.ino 文件,并不意味着其他东西没有. |
|
我在使用 Arduino IDE v1.8.5 时看到了相同的“警告:[…] 重新定义”消息 通过以下方式修复了问题: |
|
@bgrumbine: 感谢更新 wiki。 |
|
@tingox:非常感谢您提供有关仅单击提取文件夹内左侧窗格中的 grbl 名称的提示。我试了半个小时不知道有多少类似操作的组合,一直提示“指定的文件夹不包含有效的库”。我什至注意到它会自动填写目录名称并尝试打开“grbl-master/grbl-master”或“grbl-master/grbl/grbl”……但是尽管我做了所有尝试,但我还是没能成功正是你的,现在可以使用了。谢谢! |
|
可能还有更多。我在两台不同的计算机上为此苦苦挣扎了大约一个小时。我详细阅读了上面的所有评论。虽然我可以成功引入库,但由于“警告:“max”重新定义”或类似错误,我无法编译 grblUpload。 不幸的是,我同时进行了两项更改。至少对我来说,其中一个或两个都包含解决问题的秘诀。 确保从“C:\Users[user]* Documents *\Arduino\libraries\grbl\examples\grblUpload\grblUpload.ino”打开“grblUpload.ino”,而不是从将 zip 文件解压到的目录打开. (例如 C:\Users[user]* Downloads *\grbl-master\grbl-master\grbl\examples\grblUpload\grblUpload.ino)这似乎破坏了 Arduino IDE 处理搜索路径的方式,但我不熟悉细节。 然后,根据提示@michmerr(见上文),我进入首选项(以前从未在那里看过)希望找到“积极缓存编译核心”但至少在 Windows 上它不存在。在那里我打开了行号!(我希望这不是修复它的原因) 之后就开始编译了。 但是我发现自己有一个 Arduino Mega(并且 GRBL 出于某种疯狂的原因与它不兼容)所以明天去 Jaycar 买一个 Uno。 我希望这有帮助。 戴夫 |
|
戴夫,如果你有一个 Mega,还有另一个分支专门用于 GRBL 的 Mega 版本。 |
|
哇哦!谢谢你的提示!我错过了。谢谢! |
繁荣!成功了。多么奇怪… |
同样的事情-这在 mac 上也对我有用 |
|
多么奇怪。在 Windows 和 Arduino 应用程序 > 文件 > 首选项中打开 grblUpload.ino 文件,单击“显示行号”。也为我工作。我无法将文件上传到我的 Arduino Uno。感谢大家继续排除故障。 |
|
这些不是错误,它们是警告。 由于 Arduino 预处理
另一种解决方法是使用https://github.com/gnea/grbl/wiki/Compiling-Grbl#build-as-a-normal-arduino-ide-project方法。它还允许您维护和使用多个不同的配置,例如 grbl、grbl-Mega 和 grbl-Mega-5X,以及不同的 config.h、defaults.h 和 cpu_map.h |


当我从 Arduino IDE 1.8.3 编译/上传 grbl 1.1e 时,我收到一些错误消息。上传完成后 grbl 似乎可以正常工作(我可以发送命令,grbl 响应,响应看起来不错)。
注意:我不得不从解压缩的 1.1e 发布 zip 文件中手动复制“grbl”文件夹,因为自动版本“管理库”和“添加 .ZIP 库”只产生一条错误消息。
编译 grbl 的错误消息:
我的机器运行 Fedora 25:
[tingo@kg-elitebook ~]$ uname -a
Linux kg-elitebook.kg4.no 4.11.8-200.fc25.x86_64 #1 SMP Thu Jun 29 16:13:56 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
希望这有帮助