完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我有一个结构如下的项目:
代码: - my_project/ - CMakeLists.txt - components/ - foo/ - CMakeLists.txt - foo.c 我希望 foo 子组件通过绝对路径要求(通过 PRIV_REQUIRES)一个组件,即我不想通过 EXTRA_COMPONENT_DIRS 在项目级别添加 foo 所需组件的路径。 用例: 例如,我想包含 esp-idf 示例中的 protocols_examples_common 组件: 有效的解决方案(我想避免)是: project/CMakeLists.txt: 代码: cmake_minimum_required(VERSION 3.16) set(EXTRA_COMPONENT_DIRS "$ENV{IDF_PATH}/examples/common_components/protocol_examples_common" ) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(my_project) foo/CMakeLists.txt: 代码: idf_component_register( SRCS "foo.c" INCLUDE_DIRS "." PRIV_REQUIRES protocol_examples_common ) 上面的配置将正确构建,因为 foo 组件可以找到 protocol_examples_common。 然而,我想做的不是将 protocol_examples_common 的路径添加到 EXTRA_COMPONENT_DIRS,并为 foo/CMakeLists.txt 中的组件指定一个绝对路径,例如: project/CMakeLists.txt: 代码: cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(my_project) foo/CMakeLists.txt: 代码: idf_component_register( SRCS "foo.c" INCLUDE_DIRS "." PRIV_REQUIRES "$ENV{IDF_PATH}/examples/common_components/protocol_examples_common" ) 但是使用上面的配置会导致 cmake 报错: 代码: Failed to resolve component '/Users/brian/.espressif/esp-idf/examples/common_components/protocol_examples_common'. 有没有办法编写 foo/CMakeLists.txt 以便它可以指示它需要 protocol_examples_common 而不必更新项目的 CMakeLists.txt 中的 EXTRA_COMPONENT_DIRS? |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
945 浏览 0 评论
1672 浏览 0 评论
请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗
1330 浏览 1 评论
1233 浏览 1 评论
5021 浏览 2 评论
为blufi_device设置自定义名称,但是无法修改,为什么?
1254浏览 4评论
请问ESP32-S2-WROOM怎么获得ESP32-S2外接FLASH的唯一序列号?
927浏览 3评论
2340浏览 3评论
ESP-IDF的VScode插件的build按钮点击会报错的原因?
2528浏览 3评论
ESP-Jumpstart例程中第5个工程:5_cloud连接报错是哪里的问题?
1052浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 19:40 , Processed in 0.374307 second(s), Total 41, Slave 34 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3566
