Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
C库_LIBC
10
error: unknown type name 'clock_t'
发布于 2022-06-23 14:37:51 浏览:3986
订阅该版
``` ./components/libc/compilers/common/sys/time.h:71:5: error: unknown type name 'suseconds_t' suseconds_t tv_usec; /* and microseconds */ ^ ./components/libc/compilers/common/sys/time.h:149:20: error: unknown type name 'clockid_t' int clock_getres (clockid_t clockid, struct timespec *res); ^ ./components/libc/compilers/common/sys/time.h:150:20: error: unknown type name 'clockid_t' int clock_gettime (clockid_t clockid, struct timespec *tp); ^ ./components/libc/compilers/common/sys/time.h:151:20: error: unknown type name 'clockid_t' int clock_settime (clockid_t clockid, const struct timespec *tp); ^ ./components/libc/compilers/common/sys/time.h:152:21: error: unknown type name 'clockid_t' ``` 我用的是makefile 编译的, 根据我的定位这些类型的最终的 调用是 `sys/types.h-> sys/_types.h` 具体的类型值是在`sys/_types.h`中定义的, 我查看了编译器其实是没有费用`sys/_types.h` 这个头函数, 因为在types 中宏定义了这个 `#define _SYS_TYPES_H`, 导致`sys/_types.h`这个头文件没有被引用, 但是我在`scons` 环境下编译是不会报这个错误的, 具体scon 是怎么回避这个问题的, 还是我的理解有问题, 编译器我试了几个版本都是这个问题
查看更多
9
个回答
默认排序
按发布时间排序
luoqi
2024-03-20
这家伙很懒,什么也没写!
在构建配置里面添加`_POSIX_C_SOURCE=1` 就可以了 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240320/696dba39c8d159e521c30c4f4618148d.png)
VIEJ_8662
2024-08-08
_
测试时,也碰到该情况 git clone的是20240808的版本 安装如下程序: RT-Thread Studio版本:`RT-Thread Studio_2.2.8-setup-x86_64_202405200930.exe` ENV版本:`env-windows-v2.0.0-venv.7z` 设置rtconfig.py的EXEC_PATH分别为: ``` 1 EXEC_PATH = r'C:\env-windows\tools\gnu_gcc\arm_gcc\mingw'【env-windows-v2.0.0-venv.7z】【报错】 2 EXEC_PATH = r'C:\altera\RT-ThreadStudio\platform\env_released\env\tools\gnu_gcc\arm_gcc\mingw'【RT-Thread Studio_2.2.8-setup-x86_64_202405200930.exe】【正常】 ``` 1是最新的env下的gcc 2是RT-Thread Studio自带的env的gcc【正常】 ![EXEC_PATH.png](https://oss-club.rt-thread.org/uploads/20240808/c2be124d262a6720caadb1edeb9a2242.png.webp) 第2个能用scons命令编译通过 用scons --verbose,检查main.c的编译参数 ![编译选项的差异.png](https://oss-club.rt-thread.org/uploads/20240808/062972d021caf25476a1bc8468c73d56.png) 参考上图的对比,第2种,多出了 ``` -DRT_USING_NEWLIBC -DRT_USING_LIBC -D_POSIX_C_SOURCE=1 -ID:\tt\rt-thread\components\libc\compilers\newlib ``` 不是太明白EXEC_PATH在scons中的作用 待检查scons手册,确认原因 ----------------------------------------------------------------------- 20240809上午又测试了一下 重新启动PC 进入rt-thread_i\bsp\stm32\stm32f103-atk-nano目录后 右键"ConEmu here" 进入控制台 输入scons或者scons --verbose, 无论rtconfig.py的EXEC_PATH设置为什么值,都可以直接编译通过 ![正常输出.png](https://oss-club.rt-thread.org/uploads/20240809/9957d67f938ef9ac1a1e8edd1ba77938.png) --------------------------------------------------- 当设置环境变量后,执行scons,就会报错 命令如下: ``` set RTT_EXEC_PATH=C:\altera\RT-ThreadStudio\platform\env_released\env\tools\gnu_gcc\arm_gcc\mingw set RTT_CC=gcc set RTT_ROOT=D:\tt\rt-thread_i set BSP_ROOT=. set SDK_ROOT=.. scons ``` 输出如下: ![设置环境变量后编译报错.png](https://oss-club.rt-thread.org/uploads/20240809/03afe1e4c45a5f1ca22812b095b6ec98.png) ---------------------------------------------------------------------------------- 去掉RTT_EXEC_PATH的环境变量设置 仅保留以下: ```python set RTT_CC=gcc set RTT_ROOT=D:\tt\rt-thread_i set BSP_ROOT=. set SDK_ROOT=.. scons ``` 编译OK RTT_EXEC_PATH的设置,导致异常 检查rtconfig.py 发现PLATFORM == 'gcc'时,没有像'armcc'修正EXEC_PATH EXEC_PATH += '/ARM/ARMCC/bin/' 导致异常 ![EXEC_PATH变量设置的问题.png](https://oss-club.rt-thread.org/uploads/20240809/6f268e9b4dea13c4169c2236ce245bd8.png.webp) 参考上述更改后,编译也正常 ``` set RTT_EXEC_PATH=C:\altera\RT-ThreadStudio\platform\env_released\env\tools\gnu_gcc\arm_gcc\mingw set RTT_CC=gcc set RTT_ROOT=D:\tt\rt-thread_i set BSP_ROOT=. set SDK_ROOT=.. scons ``` 编译输出如下: ![EXEC_PATH更改后的输出.png](https://oss-club.rt-thread.org/uploads/20240809/56e9c1c8574038cf12fe0acb2ab7ce63.png) ---------------------------------------------------------------------------------- 将上述对rtconfig.py更改 应用到版本e50f064bda5322ed73aa1a05e982d9f3c9a0eb3f 能正常编译通过 ---------------------------------------------------------------------------------- 以上测试均使用了env-windows-v2.0.0-venv.7z 为检查错误,又测试了env-windows-1.5.0 rtconfig.py更改BUG后 能正常编译通过 ---------------------------------------------------------------------------------- ## 总结 rtconfig.py文件存在BUG,导致异常 BUG更改如下: 使用gcc编译时,需修改rtconfig.py文件 EXEC_PATH += '/bin/' 此为rtconfig.py的bug ![rtconfig.py的修改.png](https://oss-club.rt-thread.org/uploads/20240809/3c15fab60564b53eb673a8726b7a594f.png) b6c26d45378889eddb2573bbcc9b985d2ec5719d版本patch文件为 [rtconfig.py.patch](https://club.rt-thread.org/file_download/04ba11ef5b1c9f98) 其他版本也差不多,照着修改即可 注意事项2: env-windows-v2.0.0-venv.7z一定要安装在c:\env-windows下,否则运行异常
aozima
2022-06-23
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!多用整理的好的文字,比截图更省流量,还能在整理过程中思考。
`scons --verbose`
hfmm
2022-06-23
这家伙很懒,什么也没写!
@aozima 感谢 `_POSIX_C_SOURCE=1` 这个宏没有定义导致的,后面有时间整理下这个调用过程了
hehejie
2023-05-29
这家伙很懒,什么也没写!
这个问题解决了吗?
zgya9xcv
2023-11-06
这家伙很懒,什么也没写!
soncs 编译也有这个问题,这个 `_POSIX_C_SOURCE=1` 在那个文件里定义阿 ? ``` usr/arm-none-eabi/include/time.h:56:1: error: unknown type name 'clock_t' 56 | clock_t clock (void); | ^~~~~~~ /usr/arm-none-eabi/include/time.h:30:1: note: 'clock_t' is defined in header '
'; did you forget to '#include
'? 29 | #include
+++ |+#include
30 | ```
qinyunti
2023-11-27
这家伙很懒,什么也没写!
右键点击工程名字->同步scons配置到项目
linhbui
2023-12-01
这家伙很懒,什么也没写!
添加 nopoll 库时,我在 RT-Thread Studio 中遇到了同样的错误。 请有人帮助我。 感谢 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20231201/70a722c695adaef1dfe5e8c449961e31.png)
axushilong
2024-12-25
这家伙很懒,什么也没写!
我也是这样的问题,scons后发现rtconfig.py脚本会运行2次,然后再编译,第二次的时候会找不到RTT_EXEC_PATH这个。然后就找不到编译器的目录吧,所以就有这个错误了。我猜测是这样,然后我在下面代码的地方加了最后两行代码(就是一行esle:加后面那一行)就好了。主要是将gcc编译器的路径加进去。 ```python if os.getenv('RTT_EXEC_PATH'): EXEC_PATH = os.getenv('RTT_EXEC_PATH') else: EXEC_PATH = r'F:\WinRARtmp\env-windows-v2.0.0\tools\gnu_gcc\arm_gcc\mingw\bin' ``` 就这么个东西,调我我好久,气死了。如果后来人遇到同样的问题,按照我这个方法解决的请点赞上去,让更多的人看到,谢谢。
撰写答案
登录
注册新账号
关注者
1
被浏览
4k
关于作者
hfmm
这家伙很懒,什么也没写!
提问
16
回答
31
被采纳
0
关注TA
发私信
相关问题
1
RT-THREAD怎么使用标准C库函数
2
USB 提示undefined reference to `_sbrk'
3
关于rt-smart的musl-libc
4
kservice.c中为什么重新实现了C库的一部分函数?
5
文档中心对libc、newlib、minilibc的介绍有些乱
6
rtthread 能否使用编译器自带的c库
7
stm32M4 rtthread 如何把浮点数转换为字符串类型
8
关于Sqlite的移植。。。。。
9
NANO 如何开启libc 库
10
用RT-Studio 生成nano工程,移植at组件 但是缺少libc
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
【RT-Thread】【ci】【scons】将ci.attachconfig.yml和scons结合使用
2
Rt-thread中OTA下载后,bootloader不搬程序
3
ulog 日志 LOG_HEX 输出时间改为本地日期时间
4
在RT-Thread Studio中构建前执行python命令
5
研究一了一段时间RTT,直接标准版上手太难,想用nano,但又舍不得组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
I2C_IIC
ESP8266
UART
WIZnet_W5500
ota在线升级
cubemx
PWM
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
SFUD
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
xusiwei1236
8
个答案
2
次被采纳
踩姑娘的小蘑菇
1
个答案
2
次被采纳
用户名由3_15位
9
个答案
1
次被采纳
bernard
4
个答案
1
次被采纳
RTT_逍遥
3
个答案
1
次被采纳
本月文章贡献
聚散无由
2
篇文章
15
次点赞
catcatbing
2
篇文章
5
次点赞
Wade
2
篇文章
4
次点赞
Ghost_Girls
1
篇文章
7
次点赞
xiaorui
1
篇文章
2
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部