你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32mp135 使用官方SDK交叉编译工具链,但是编译的时候却找不到头文件,这怎么解决?

[复制链接]
yigu 提问时间:2025-1-3 16:47 / 未解决

有指定环境变量,

echo $ARCH arm

echo $CROSS_COMPILE arm-ostl-linux-gnueabi-

echo $CC arm-ostl-linux-gnueabi-gcc -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/home/jiang/STMicroelectronics/Developer-Package/SDK/sysroots/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi

但是编译的时候

arm-ostl-linux-gnueabi-gcc -o main main.c main.c:1:10: fatal error: sys/types.h: No such file or directory 1 | #include <sys/types.h> | ^~~~~ compilation terminated.

然后查询资料说找默认搜索头文件路径,还有说改sysroot,

目前没有解决,有遇到类似的或知道如何解决的吗?

收藏 评论6 发布时间:2025-1-3 16:47

举报

6个回答
yigu 回答时间:2025-1-3 17:49:04

需要

arm-ostl-linux-gnueabi-gcc --sysroot=$OECORE_TARGET_SYSROOT -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard -o main main.c

这样可以成功编译,是默认没有配置好吗,怎么才能不手动输入那些路径选择呢?

废鱼 回答时间:2025-1-6 16:27:31

是用哪个指令编译的?使用$CC -o main main.c试试。

废鱼 回答时间:2025-1-6 16:28:43

你可以看我的分享里面,选择使用eclipse进行进行程序编写。

qingbiuci 回答时间:2025-1-7 09:59:29

yigu 发表于 2025-1-3 17:49
需要</p>
<p>arm-ostl-linux-gnueabi-gcc --sysroot=$OECORE_TARGET_SYSROOT -march=armv7-a -mfpu=neon-vfpv ...

[md]https://zhuanlan.zhihu.com/p/709915770

https://zhuanlan.zhihu.com/p/712509810

可以参考一下。

yigu 回答时间:2025-1-15 14:06:28

废鱼 发表于 2025-1-6 16:27
是用哪个指令编译的?使用$CC -o main main.c试试。

编译指令应该是没问题的,$CC展开就是我用的编译指令

yigu 回答时间:2025-1-15 14:09:44

废鱼 发表于 2025-1-6 16:28
你可以看我的分享里面,选择使用eclipse进行进行程序编写。

好的,我是使用的6.1版本SDK,烧录的出厂镜像是6.1版本内核,当时编译内核使用的是6.4.48的Linux内核,这会有影响吗,现在尝试重新使用6.1版本进行移植

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版