Vitis2024.2 中 ‘xil_printf.h‘报错问题解决方法;无法跳转到函数定义.c文件问题

问题

在做使用Vitis打印hello world实验时,使用官方自带的例子,其中的helloworld.c文件中有一个报错: ‘xil_printf.h’ file not foundclang(pp_file_not_found)。
而且不仅仅有’xil_printf.h’这个文件会报错,带有xil前缀的头文件都经常出现报错。

原因

Board Support Package中未启用xilffs库。
后来发现不单纯是xilffs库的问题,因为编译通过后我再把这个库去掉依然不会报错。我在实际使用时都是随便选中几个库,然后更新一下BSP就会正常了。

解决办法

在左侧导航栏中点击setting中的json文件。在这里插入图片描述
打开后点击导航到BSP设置页面。
在这里插入图片描述
BSP界面如下图所示。
在这里插入图片描述
确保下面俩图中框框里的xilffs被勾选。若未勾选则选中后点击Regenerate BSP即可。注意是有两个Board Support Package。
在这里插入图片描述

在这里插入图片描述
然后就可以正常编译通过了。
在这里插入图片描述

——————————————————分界线——————————————————
针对vitis2024.2中"xil_xxx"类型头文件报错的问题如下:

'xil_io.h' file not foundclang(pp_file_not_found)

可以试试先编译一下Application文件后再写引入头文件。
和上个问题类似,如果不能通过ctrl+鼠标跳转到函数定义位置,只能跳转到头文件中的声明的话,则可以编译一下platform文件,这样就可以跳转到.c文件中的函数定义了。

上面方法无法解决,亲测只能打开定义了原函数的.c文件才能跳转到函数定义位置,而且一旦重新打开项目工程问题依然重新出来。linux环境下载的vitis2024.1版本也有这个问题,下面是在AMD论坛上的回复。
在这里插入图片描述

### Xilinx Vitis 编译时找不到 `xil_io.h` 文件问题解决方案 当遇到编译错误提示 “fatal error: xil_io.h: No such file or directory” 时,通常是因为开发环境未能正确配置头文件路径或缺少必要的库文件。针对Vitis 2022.2 版本的具体处理方法如下: #### 修改Makefile以包含正确的头文件路径 为了使编译器能够找到所需的头文件,在项目的 Makefile 中添加相应的包含目录是解决问题的关键措施之一。具体操作是在 CFLAGS 或 CPPFLAGS 变量中加入 `-I$(XILINX_VITIS)/include` 参数来指定额外的查找位置[^1]。 ```makefile CFLAGS += -I$(XILINX_VITIS)/include ``` 此命令确保编译过程中会搜索到安装于 $(XILINX_VITIS) 下 include 文件夹内的所有标准头文件,从而避免因缺失特定头文件而导致的编译失败情况发生。 #### 验证环境变量设置无误 除了调整 Makefile 外部依赖项外,还需确认当前使用的 shell 环境已经加载了正确的工具链环境变量。这可以通过执行 source 命令并指向相应 SDK 的 settings 脚本来实现。对于大多数 Linux 发行版而言,默认情况下该脚本位于 `/opt/xilinx/Vitis/2022.2/settings64.sh` 。因此建议每次新开终端窗口前都运行一次下面这条指令以初始化工作区所需的各种参数设定: ```bash source /opt/xilinx/Vitis/2022.2/settings64.sh ``` 通过上述两步可以有效解决由于路径不匹配造成的无法识别 `xil_io.h` 这类核心组件的情况。如果仍然存在相同类型的警告,则可能意味着本地安装存在问题或是项目结构本身有缺陷,此时应考虑重新下载官方发布的最新版本软件包来进行修复尝试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值