我正在尝试将一个 cpp 文件添加到具有以下设置的 arduino 项目中...
project
--folder
--foo.h
--foo.cpp
--project.ino
Run Code Online (Sandbox Code Playgroud)
我#include "folder/foo.h
在project.ino
. 然而,虽然头文件提供了函数的原型,但函数定义在 cpp 文件中。当我尝试使用 Arduino IDE 编译代码时,它失败并显示错误
Undefined reference to 'bar()'
并bar()
位于foo.cpp
我看了这个,但我没有设置sketch/import library
(但是我有sketch/include library
,但是我没有看到任何接近使用自定义文件夹位置的东西)
我也看了这个。但与上述相同,该设置在我的 ide 中不存在。(我最近下载的)
代码
//project.ino
#include "folder/foo.h"
void setup() {
Serial.begin(9600);
}
void loop() {
bar();
}
Run Code Online (Sandbox Code Playgroud)
//folder/foo.h
#include "Arduino.h"
void bar();
Run Code Online (Sandbox Code Playgroud)
//folder/foo.cpp
#include "foo.h"
void bar() {
Serial.println("bar");
}
Run Code Online (Sandbox Code Playgroud)
错误
/tmp/ccNTRFfU.ltrans0.ltrans.o: In function `loop':
/home/temporary/project/project.ino:9: undefined reference to …
Run Code Online (Sandbox Code Playgroud) 假设我有以下项目
_example = namedtuple('example',['x','y'])
Run Code Online (Sandbox Code Playgroud)
我收集了一堆这样的例子
examples = magic_function_that_returns_a_list_of_examples()
Run Code Online (Sandbox Code Playgroud)
我想替换以下2行
xs = [ e.x for e in examples]
ys = [ e.y for e in examples]
Run Code Online (Sandbox Code Playgroud)
对于某些事情......
xs,ys = [ [e.x,e.y] for e in examples]
Run Code Online (Sandbox Code Playgroud)
换句话说,是否有可能利用列表推导来一次设置两个变量?