我试图在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版本进行编译吗?