ubuntu和OSX上xattr.h中函数定义的差异

时间:2019-01-29 20:30:19

标签: macos homebrew

我试图在OSX上运行自制程序,这个我们知道可以在Ubuntu上构建的项目,但是当尝试在OSX上运行make all时,我们遇到了一个函数期望有额外参数的问题。

libattr/attr_copy_fd.c: In function 'attr_copy_fd':
libattr/attr_copy_fd.c:76:9: error: too few arguments to function 'flistxattr'
  size = flistxattr (src_fd, NULL, 0);
         ^~~~~~~~~~
In file included from libattr/attr_copy_fd.c:25:0:
/usr/include/sys/xattr.h:75:9: note: declared here
 ssize_t flistxattr(int fd, char *namebuff, size_t size, int options);

据我所知,这是由于如何为每个操作系统编写xattr.h文件所致,

ubuntu上的文件位于:https://github.com/torvalds/linux/blob/master/include/linux/xattr.h

苹果版本在这里:https://opensource.apple.com/source/xnu/xnu-4570.41.2/bsd/sys/xattr.h.auto.html

Apple版本中的函数需要一个额外的int选项,而linux版本不需要,int选项可以让我使用自制软件使用此文件的linux版本进行编译吗?

0 个答案:

没有答案