c - st_mtimensec结构统计中不可用



>我正在尝试为主机mipsel-linux-uclibc编译Evas。我正在使用我公司的旧二进制工具链来做到这一点。它是在 2008 年左右编译的,我现在有点坚持下去。看起来这个工具链在 stat.h 的结构统计信息中缺少以下字段:

unsigned long int st_mtimensec; /* Nsecs of last modification.  */

我最接近的东西是:

__time_t st_mtime;      /* Time of last modification.  */

看起来这与 uclibc 有关。有没有简单的方法可以解决这个问题?

>struct stat应该包含一个成员struct timespec st_mtim;stat.h应该#define st_mtime st.mtim.tv_sec如果你的uClibc太旧而没有这些权利,你可以尝试将它们黑客入侵到标题中(可能只有一个time_t st_mtime;成员,旁边应该有一个填充成员,纳秒应该在那里)。重要的是,您必须保持成员的布局(它们在结构中的偏移量)相同,否则事情会严重损坏。

一个更好的问题可能是为什么 Evas 不能移植到较旧的(POSIX-2008 之前)系统,以及为什么它对纳秒字段使用了错误的名称(正确的名称是 st_mtim.tv_nsec ,而不是 st_mtimensec 。最有益的做法可能是在 Evas 的上游获取这些修复程序,以便其他用户将来不会遇到问题。

相关内容

  • 没有找到相关文章

最新更新