petalinux build提示undefined reference to `stime'
时间: 2023-07-05 08:34:04 浏览: 110
这个错误通常是因为在构建 petalinux 时没有正确链接 `librt` 库。`stime()` 函数用于将系统时间设置为指定的时间值,需要链接 `librt` 库才能使用。你可以尝试在 petalinux 构建中添加以下内容来链接 `librt` 库:
1. 打开 petalinux 项目下的 `project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi` 文件,添加以下内容:
```
/ {
chosen {
bootargs = "console=ttyPS0,115200 earlyprintk root=/dev/mmcblk0p2 rw rootwait uio_pdrv_genirq.of_id=generic-uio";
};
};
```
2. 打开 petalinux 项目下的 `project-spec/meta-user/recipes-bsp/device-tree/files/system-conf.dtsi` 文件,添加以下内容:
```
/include/ "system-user.dtsi"
/ {
chosen {
bootargs = "console=ttyPS0,115200 earlyprintk root=/dev/mmcblk0p2 rw rootwait uio_pdrv_genirq.of_id=generic-uio";
};
};
```
3. 重新构建 petalinux:
```
petalinux-build -c <component_name> -x <task_name>
```
这样就应该能够正确链接 `librt` 库并解决 undefined reference to `stime` 的错误了。
阅读全文