Search found 5 matches

by xsp1989
Mon Apr 20, 2020 9:36 am
Forum: ESP-IDF 中文讨论版
Topic: ESP32 IDF-V4.0 ninja编译无法引用外部静态库的问题
Replies: 5
Views: 11139

Re: ESP32 IDF-V4.0 ninja编译无法引用外部静态库的问题

我在gpio的demo里面稍微修改了一下,可以复现出我提出的问题。
分别用mingw的make和cmd的idf.py build进行了编译
mingw的make可以正常编译通过
cmd的idy.py build方式报错如下:
图.jpg
图.jpg (41.67 KiB) Viewed 9352 times
事实上fun_c的函数已经在libmain.a中的func.obj文件中了
图2.png
图2.png (17.02 KiB) Viewed 9352 times
by xsp1989
Sat Apr 18, 2020 6:31 am
Forum: ESP-IDF 中文讨论版
Topic: ESP32获取chipID
Replies: 1
Views: 8735

ESP32获取chipID

现在项目里面需要获得芯片的一个唯一ID发送到服务器进行设备绑定。 有如下问题不太了解, 1.在ESP8266里面有个API(system_get_chip_id())能够获得一个唯一ID号,请问在ESP32中是否也有类似的API呢? 2.如果没有相关API的话通过esp_efuse_mac_get_default()这个函数获取到的一个MAC地址是唯一所有芯片的MAC吗?如果不是,需要使用什么api来获得一个唯一ID呢? 3.在ESP-IDF4.0里面: esp_err_t esp_efuse_mac_get_custom(uint8_t *mac); esp_err_t esp_efuse_...
by xsp1989
Sat Mar 21, 2020 3:55 am
Forum: ESP-IDF 中文讨论版
Topic: ESP32 IDF-V4.0 ninja编译无法引用外部静态库的问题
Replies: 5
Views: 11139

Re: ESP32 IDF-V4.0 ninja编译无法引用外部静态库的问题

谢谢您的解答! 问题已经解决,确实是库的顺序引起的依赖问题。 我这边的情况如下: main组件里面的函数fun_main_a()调用了 已经编译好 的静态库中的函数fun_lib_1(),静态库中的函数fun_lib_1再调用main组件中的另外一个函数fun_main_b() 在编译的时候把fun_main_a()与fun_main_b()打包到了libmain.a静态库中,然后在链接阶段会出现找不到fun_main_a()或者fun_main_b()函数的情况。至于是找不到哪个函数取决于包含fun_lib_1()的库相对于libmain.a的位置。 我这边的解决方法是把fun_main_a...
by xsp1989
Wed Mar 18, 2020 3:58 am
Forum: ESP-IDF 中文讨论版
Topic: ESP32 IDF-V4.0 ninja编译无法引用外部静态库的问题
Replies: 5
Views: 11139

Re: ESP32 IDF-V4.0 ninja编译无法引用外部静态库的问题

这个问题看起来是静态库的依赖顺序问题,为啥传统的GNU Make不会有这个问题,而使用Ninja就会出现这个问题呢?
by xsp1989
Tue Mar 17, 2020 8:49 am
Forum: ESP-IDF 中文讨论版
Topic: ESP32 IDF-V4.0 ninja编译无法引用外部静态库的问题
Replies: 5
Views: 11139

ESP32 IDF-V4.0 ninja编译无法引用外部静态库的问题

我在自己的项目里面引用了三个外部静态库,并且修改了CMakeLists.txt文件,增加了库路径等,在最后链接的时候,(引入的库里面报错)提示一些函数未定义,而这些函数是在自己的源文件里面实现的,并且已经链接到了libmain.a里面。

开发环境:Vscode+ESP-IDF插件,(在cmd命令行里面调用idf.py build也是同样的错误)
另外:
在mingw32环境使用make方式可以正常编译通过,说明代码和库是没有问题的。

请问一下,有人是否也遇到了同样的问题。