..\..\..\components\dfs\include\dfs_fs.h(16): error: #5: cannot open source input file "sys/types.h": No such file or directory
下载RTT官方的Gitee上面的LTS版本3.1.3.之后进行编译出现此问题。发现之后尝试编译STM32的程序并没有出现此问题,粗略看一下源码是libc部分出现的,此部分和DFS的存储有直接关系,但是在网上并没有找到解决方案,感觉可能是电脑的libc库缺少了文件,经过琢磨找到了暂时解决的途径。
1 找到types.h文件,并且复制到对应位置
在 E:\RT-Thread_Git_File\rt-thread\components\libc\compilers\common\none-gcc\sys
文件夹下发现文件types.h 将他移植到 E:\RT-Thread_Git_File\rt-thread\components\libc\compilers\common\sys
文件夹下之后进行编译
出现此问题
"no source": Error: #5: cannot open source input file "..\..\..\components\libc\compilers\armlibc\stubs.c": No such file or directory
2 寻找对应的stubs.c文件
仔细寻找之后发现并没有 无论是网上还是RTT的文件夹中。。
此时有两种办法
1.在以往的版本中找到这个文件,并且移过去
2.去掉包含关系
本来打算使用第二种,但是找了半天都没有发现。
之后发现旧版本的stube.c复制过去之后就好了。
https://gitee.com/rtthread/rt-thread/tree/stable-v2.1.x/components/libc/armlibc
此链接为旧版本的libc.
如有更优解决方案请在评论区提一下