小编Ant*_*ton的帖子

如何将 cpp 文件添加到 arduino 项目?

我正在尝试将一个 cpp 文件添加到具有以下设置的 arduino 项目中...

project 
--folder
  --foo.h
  --foo.cpp
--project.ino
Run Code Online (Sandbox Code Playgroud)

#include "folder/foo.hproject.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)

c++ arduino arduino-ide

2
推荐指数
1
解决办法
6810
查看次数

如何使用list comprehention等于python中的多个变量?

假设我有以下项目

_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)

换句话说,是否有可能利用列表推导来一次设置两个变量?

python list-comprehension

1
推荐指数
1
解决办法
40
查看次数

标签 统计

arduino ×1

arduino-ide ×1

c++ ×1

list-comprehension ×1

python ×1