Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1397|回复: 12

[未解决] 求助VSCode+PlatformIO Arduino怎么把文件包含到工程中

[复制链接]
发表于 2022-1-7 07:17 | 显示全部楼层 |阅读模式
本帖最后由 Savitar1 于 2022-1-7 07:52 编辑

请教一下论坛大佬
PlatformIO对文件进行编译过程中报错“undefined reference to xxx”

但是我明明已经包含头文件到main.cpp中,为什么还是报错呢?


就是因为这个问题,没法调用LVGL提供的例程。
网上的教程折腾了好几天,都没什么用。
求个大佬救救

工程代码:
https://cowtransfer.com/s/82d79341cddd48

1.c的内容....
  1. int add_test(int a,int b){
  2.     return a+b;
  3. }
复制代码


报错信息

报错信息

main.cpp

main.cpp
发表于 2022-1-8 08:15 | 显示全部楼层
你参考一下 编译能通过 微信截图_20220108081402.png

微信截图_20220108081416.png

 楼主| 发表于 2022-1-7 07:32 | 显示全部楼层
网上那些修改c_cpp_properties.json之类的方法都不管用。
VSCode能Ctrl+单击跳转到头文件,但是就是不能编译。
 楼主| 发表于 2022-1-7 07:42 | 显示全部楼层
本帖最后由 Savitar1 于 2022-1-7 07:50 编辑

重新移植了一遍。还是 编辑器能够识别并跳转到头文件位置,但是编译器就是找不到。

报错信息

报错信息
 楼主| 发表于 2022-1-7 07:45 | 显示全部楼层
Savitar1 发表于 2022-1-7 07:42
重新移植了一遍。还是 编译器能够识别并跳转到头文件位置,但是编译器就是找不到。

...

该工程连接:
https://cowtransfer.com/s/a159f44f7c014d
发表于 2022-1-7 09:13 | 显示全部楼层
你怎么调用的?
 楼主| 发表于 2022-1-7 17:19 | 显示全部楼层
ahua7336 发表于 2022-1-7 09:13
你怎么调用的?

就引用了头文件,然后在setup里调用那个add_test函数

W{`}6XAQ[7Z(IY9ODU[ISQ6.png
 楼主| 发表于 2022-1-8 18:08 | 显示全部楼层
ahua7336 发表于 2022-1-8 08:15
你参考一下 编译能通过

这个问题解决了!谢谢大佬。
但是还有,调用LVGL example 中的内容,编译器却没有编译指定的文件。,.pio\build\esp32doit-devkit-v1\src\main.cpp.o.literal._Z5setupv+0x30): undefined reference to `lv_example_get_started_1'  看了一下编译输出信息,是编译器的问题,编译器并没有编译lv_example_get_started_1.c    。然后又看了Platformio的官方文档,修改src_dir,但是还是没给我编译。
应该怎么添加路径才能编译呢? 直接移动到src应该可以编译,但是怎么通过修改platformio的参数来解决捏?

报错信息

报错信息
 楼主| 发表于 2022-1-8 18:33 | 显示全部楼层
确实放到src文件夹里可以编译通过
1.png
发表于 2022-8-19 02:34 | 显示全部楼层
跟我一摸一样的问题  网上的
仍然在 lvgl 文件夹中,把 examples 和 demos 两个文件夹拷贝到 lvgl/src 下。
在我这是不行的(我怀疑官方改了例程里)
测试把examples里所有文件扔到lvgl/src里才可以   
这是我观察官方的.lv_examples  库想到的  他的例子就全在src里扔着  没有二级文件了   
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|Arduino中文社区

GMT+8, 2022-10-7 21:25 , Processed in 0.027983 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表