【发布时间】:2014-07-25 20:04:40
【问题描述】:
更新进度
很抱歉,我忘记将此问题指定为 Arduino 问题。我只是假设这是一个预处理器问题,它与正在执行的平台无关。
我正在使用 Arduino-Make,我正在尝试传递 USERNAME 和 PASSWORD
BOARD_TAG = mega2560
CPPFLAGS = -DUSERNAME="$(USERNAME)" -DPASSWORD="$(PASSWORD)"
include $(ARDMK_DIR)/Arduino.mk
命令行:
make USERNAME="HELLO" PASSWORD="WORLD"
代码:
void setup() {
Serial.begin(9600);
String auth_raw2(USERNAME : PASSWORD);
Serial.println(auth_raw2);
}
void loop() {}
我收到此错误:
macro.ino:10:29: error: found ‘:’ in nested-name-specifier, expected ‘::’
macro.ino:10:20: error: ‘HELLO’ has not been declared
【问题讨论】:
-
您可能还希望在您的定义周围使用
"以使它们成为字符串文字,但您仍然不能像那样+它们。 -
String是 Arduino C++ 标准库提供的一个类(它确实有一个+运算符)。 -
得到了一个半工作的解决方案,但发现另一个问题:stackoverflow.com/questions/24966878/…
标签: c++ makefile arduino gnu-make