您好我的问题是如何添加avr-gcc的特定路径。当我使用时:
#include <LiquidCrystal.h>
输出是:
fatal error: LiquidCrystal.h: No such file or directory
当我使用直接路径时:
#include "/usr/share/arduino/libraries/LiquidCrystal/LiquidCrystal.h"
输出是:
/usr/share/arduino/libraries/LiquidCrystal/LiquidCrystal.h:5:19:
fatal error: Print.h: No such file or directory
那么如何为avr-gcc添加一些特定路径?谢谢。当我从Arduino IDE运行它时,我的代码工作。
答案 0 :(得分:1)
从/ usr / include中的LiquidCrystal复制所有头文件。然后使用
#include <LiquidCrystal.h>
这样可行。
答案 1 :(得分:0)
告诉C预处理器在其他地方查找头文件:将private static final String linebreak = "\n"; // or "\r\n";
public static String wrap(String string, int lineLength) {
StringBuilder b = new StringBuilder();
for (String line : string.split(Pattern.quote(linebreak))) {
b.append(wrapLine(line, lineLength));
}
return b.toString();
}
private static String wrapLine(String line, int lineLength) {
if (line.length() == 0) return linebreak;
if (line.length() <= lineLength) return line + linebreak;
String[] words = line.split(" ");
StringBuilder allLines = new StringBuilder();
StringBuilder trimmedLine = new StringBuilder();
for (String word : words) {
if (trimmedLine.length() + 1 + word.length() <= lineLength) {
trimmedLine.append(word).append(" ");
} else {
allLines.append(trimmedLine).append(linebreak);
trimmedLine = new StringBuilder();
trimmedLine.append(word).append(" ");
}
}
if (trimmedLine.length() > 0) {
allLines.append(trimmedLine);
}
allLines.append(linebreak);
return allLines.toString();
}
添加到-I/usr/share/arduino/libraries/LiquidCrystal
编译器命令行。
通常,您可以在avr-gcc
的某处将-I...
参数添加到CPPFLAGS
。
然后
Makefile
应按预期工作,当#include <LiquidChrystal.h>
尝试/usr/share/arduino/libraries/LiquidCrystal/LiquidCrystal.h
时,C预处理器将找到#include <Print.h>
文件。