【发布时间】:2018-09-30 18:00:04
【问题描述】:
从这个来自 JS 背景开始。
我正在研究物联网开发,并希望在不上传个人 WiFi 的 SSID 和密码的情况下建立自己的存储库。
Platform IO 提供此platformio.ini,据我了解设置build_flags。
build_flags =
-D SSID="MySSID"
我不知道如何从我的 CPP 文件中访问它们。我想将构建标志 SSID 中的值注入到我的 *.cpp 文件中。
#define SSID
void loop()
{
Serial.println(SSID);
}
以上内容不会向串行监视器写入任何内容。
我做错了什么?代码会编译。
【问题讨论】:
-
不是
.cpp文件吗?你写了.ccp文件。 -
是的。不过我在标题中写对了。
-
从documentation 和这个example,
build_flags中的-D指令在代码中被翻译。因此,您只需在platformio.ini中定义它们,然后您就可以直接在代码中使用它们。你不需要在代码中单独#define它们。 -
是的,我也是这么理解的。然而,Visual Code 抛出编译错误:`unable to find numeric literal operator 'operator"" FritzBox'
-
对。我相信这是VS和arduino编译器的某种配置问题。您可能想针对该问题编写一个不同的问题。
标签: c++ arduino visual-studio-code platformio