完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在尝试安装 esp-open-sdk 并独立编译它以编译 Web 服务器固件。因此,遵循(官方?)来自wiki/doku.php?id=toolchain 的文档
代码:全选git clone --recursive https://github.com/pfalcon/esp-open-sdk cd esp-open-sdk make STANDALONE=y 添加到路径等。 然后,我下载 Web 服务器代码并尝试立即编译它: 代码:全选git clone "https://github.com/dubaurazvan/esp8266-wireless-switcher.git" cd esp8266-wireless-switcher make 然后我得到无数错误,都与此类似: 代码:全选CC user/stdout.c In file included from include/espmissingincludes.h:4:0, from user/stdout.c:13: /home/amadeus/esp-open-sdk/xtensa-lx106-elf/xtensa-lx106-elf/sysroot/usr/include/ets_sys.h:14:1: error: unknown type name 'uint32_t' typedef uint32_t ETSSignal; 所以我查看了 ets_sys.h 文件,前几行是 代码:全选/* * copyright (c) 2008 - 2011 Espressif System * * Define user specified Event signals and Task priorities here * */ #ifndef _ETS_SYS_H #define _ETS_SYS_H #include "c_types.h" #include "eagle_soc.h" typedef uint32_t ETSSignal; typedef uint32_t ETSParam; 它使用 uint32_t,我猜它应该在同一目录的 c_types.h 中定义。然后我看看 c_types.h 和 代码:全选/* * Copyright (c) 2010 - 2011 Espressif System * */ #ifndef _C_TYPES_H_ #define _C_TYPES_H_ #include #include #if 0 typedef unsigned char uint8_t; typedef signed char sint8_t; typedef signed char int8_t; typedef unsigned short uint16_t; typedef signed short sint16_t; typedef signed short int16_t; typedef unsigned long uint32_t; typedef signed long sint32_t; typedef signed long int32_t; typedef signed long long sint64_t; typedef unsigned long long uint64_t; typedef unsigned long long u_int64_t; typedef float real32_t; typedef double real64_t; #endif 等等,果然,uint32_t 没有定义,因为#if 0 指令。在 esp-open-sdk(sdk 的根目录)中,我有一个 c_types-c99.patch 正是这样做的,它用 #if 0 / #endif 包围了 c_types.h 中的 typedef。 那么这是怎么回事呢?我也许可以在没有 c_types-c99 补丁的情况下以某种方式重新编译 sdk,但我敢打赌这会破坏其他东西。有任何想法吗? 我在 64 位 Fedora 22 机器上执行此操作。 |
|
相关推荐
1个回答
|
|
针对这个错误,您可以尝试以下几个步骤:
1.检查您的ESP-Open-SDK版本是否是最新的,如果不是,请更新。 2.确认您的编译环境是否正确设置。可以参考这篇文章:https://github.com/pfalcon/esp-open-sdk#prerequisites 进行设置。 3.确保所有必需的库和依赖项已正确安装。 4.尝试重新克隆您的esp8266-wireless-switcher 子模块,有时下载的文件可能会损坏。 5.在编译之前,可以清除项目,以确保在编译过程中不会发生错误。 6.如果您使用了其他ESP-Open-SDK版本,请尝试使用与该版本匹配的Web服务器代码。 |
|
|
|
只有小组成员才能发言,加入小组>>
142 浏览 1 评论
550浏览 6评论
460浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
442浏览 5评论
444浏览 4评论
415浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 23:10 , Processed in 0.799552 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号