一通各种尝试后,发现把*.c文件名全部改成*.cpp后就解决了。
之前用Arduino IDE也发生过类似的问题,*.ino和*.cpp(*.c)之间可以相互调用自己的函数,
但第三方API只能在.cpp里使用,*.c就会报错。
网上搜了哈也没找到理由,只是说不要用.c,用.cpp。
Search found 8 matches
- Tue Apr 27, 2021 7:25 am
- Forum: ESP-IDF 中文讨论版
- Topic: 怎样从esp-idf构建的工程中的任意位置调用第三方库的API
- Replies: 3
- Views: 4598
- Wed Apr 21, 2021 12:03 pm
- Forum: ESP-IDF 中文讨论版
- Topic: 怎样从esp-idf构建的工程中的任意位置调用第三方库的API
- Replies: 3
- Views: 4598
怎样从esp-idf构建的工程中的任意位置调用第三方库的API
如题,在win10中,通过msys2,根据官方文档v3.3.4说明,构建了一个M5Core2的开发环境,工程目录如下 M5stackCore2Sample(Makefile之类的文件省略) ________|---------build(make后自动生成的文件) ________|---------esp-idf(从esp官方git下载,v3.3.4) ________|---------main(根据官方文档,新建的) __________________|---------main.cpp __________________|---------component.mk ________...
- Wed Apr 21, 2021 7:36 am
- Forum: ESP-IDF 中文讨论版
- Topic: 怎样在esp-idf编译环境中添加预处器理指令(preprocessor)
- Replies: 8
- Views: 8286
Re: 怎样在esp-idf编译环境中添加预处器理指令(preprocessor)
@zliudr 我也是先用Arduino IDE(v1.8.13)写了几个M5Core2的demo,熟悉了哈M5的API和开发环境, 然后把我们的项目导入Arduino,但编译错误根本看不懂,问了Arduino Forum,也没有下文, 没有办法只有用esp-idf来尝试,我用的是官方提供的把交叉编译器安装好了的msys2环境。 因为第一次用idf环境,跟到官方文档和网上教程,git了esp-idf v3.3.4,M5Core2的最新, arduino-esp32的最新, 然后就可以了 arduino-esp32: https://github.com/espressif/arduino-es...
- Wed Apr 21, 2021 2:25 am
- Forum: ESP-IDF 中文讨论版
- Topic: 怎样在esp-idf编译环境中添加预处器理指令(preprocessor)
- Replies: 8
- Views: 8286
Re: 怎样在esp-idf编译环境中添加预处器理指令(preprocessor)
@ESP_Gargamel @zliudr
非常感谢你们的回答和建议。
现在主要做的是M5Core2的移植,最初构建环境时,我都是从GitHub下载的最新版,
在导入我们自己的项目前,在esp-idf下始终无法编译通过(缺少一些文件错误),网上搜索了一哈,
好像是说现在M5Core2的库文件只支持到idf的v3.3版本,checkout v3.3.4之后编译才通过的。
非常感谢你们的回答和建议。
现在主要做的是M5Core2的移植,最初构建环境时,我都是从GitHub下载的最新版,
在导入我们自己的项目前,在esp-idf下始终无法编译通过(缺少一些文件错误),网上搜索了一哈,
好像是说现在M5Core2的库文件只支持到idf的v3.3版本,checkout v3.3.4之后编译才通过的。
- Mon Apr 19, 2021 8:39 am
- Forum: ESP-IDF 中文讨论版
- Topic: 怎样在esp-idf编译环境中添加预处器理指令(preprocessor)
- Replies: 8
- Views: 8286
Re: 怎样在esp-idf编译环境中添加预处器理指令(preprocessor)
非常感谢你的回答。
我用
make CPPFLAGS+=-DMXEX_CFG_PLATFORMTYPE_STM32
编译成功了。
CPPFLAGS -D宏定义变量 才是正确格式。
一直都是用IDE来编译,对make这些编译相关的指令和参数完全不熟悉。
追问一哈,EXTRA_CPPFLAGS 和 CPPFLAGS的区别是什么喃?
那个英文讨论区说的是EXTRA_CPPFLAGS 不会覆盖当前的设定,
CPPFLAGS+=难道不是继续追加的意思,也就不会覆盖当前设定,难道不一样?
我用
make CPPFLAGS+=-DMXEX_CFG_PLATFORMTYPE_STM32
编译成功了。
CPPFLAGS -D宏定义变量 才是正确格式。
一直都是用IDE来编译,对make这些编译相关的指令和参数完全不熟悉。
追问一哈,EXTRA_CPPFLAGS 和 CPPFLAGS的区别是什么喃?
那个英文讨论区说的是EXTRA_CPPFLAGS 不会覆盖当前的设定,
CPPFLAGS+=难道不是继续追加的意思,也就不会覆盖当前设定,难道不一样?
- Mon Apr 19, 2021 3:31 am
- Forum: ESP-IDF 中文讨论版
- Topic: 怎样在esp-idf编译环境中添加预处器理指令(preprocessor)
- Replies: 8
- Views: 8286
怎样在esp-idf编译环境中添加预处器理指令(preprocessor)
如题,在编译(esp-idf:v3.3.4)时,想加入预处理器指令. 官方文档(v3.3.4)介绍中,使用CPPFLAGS好像能行, 官网资料.PNG 在英文讨论区,发现类似的帖子,按照帖子中的做法尝试后报错。 英文讨论区.PNG 请问编译时,添加预处理器指令的正确命令(格式?)是什么? 我的输入: make -j8 CPPFLAGS+='MXEX_CFG_PLATFORMTYPE_STM32' all ERROR: xtensa-esp32-elf-gcc.exe: error: MXEX_CFG_PLATFORMTYPE_STM32: No such file or directory</r>
- Mon Apr 19, 2021 1:52 am
- Forum: ESP-IDF 中文讨论版
- Topic: 怎样在esp-idf的开发环境中编译外部应用工程(项目)
- Replies: 2
- Views: 3393
Re: 怎样在esp-idf的开发环境中编译外部应用工程(项目)
非常感谢你的回答。
- Thu Apr 15, 2021 8:07 am
- Forum: ESP-IDF 中文讨论版
- Topic: 怎样在esp-idf的开发环境中编译外部应用工程(项目)
- Replies: 2
- Views: 3393
怎样在esp-idf的开发环境中编译外部应用工程(项目)
我通过msys2在win10系统构建了一个面向M5stack-Core2的esp-idf开发环境。 msys2版本:esp32_win32_msys2_environment_and_toolchain_idf3-20200714 我想把一个外部工程移植在M5stack-Core2上运行,所以怎样在esp-idf的开发环境中编译外部应用工程? 因为我的外部工程有自己的一套Makefile,所以有什么办法能让esp-idf的Makefile在make时调用外部工程的Makefile吗? 我尝试了在esp-idf根目录下的Makefile的最后添加外部工程Makefile的内容,但在编译时,外部工...