我想编写一个简单的C程序,将ACL设置为Linux上的一个特定文件。我的起始代码试图使用“acl.h”中的函数。我使用的是Ubuntu 13.10,我已经安装了“访问控制列表实用程序”-“acl 2.2.52-1”。这是我的代码:

#include <sys/acl.h>
#include <stdio.h>

int main () {
 acl_t aclvar;
 int count = 1;
 aclvar = acl_init(count);
 return 0;
}

问题是,使用“gcc myAcl.c”或“gcc-lacl myAcl.c”编译时出错:
/tmp/cc5sVzSR.o: In function `main':
myAcl.c:(.text+0x15): undefined reference to `acl_init'
collect2: error: ld returned 1 exit status

如何解决此错误?

最佳答案

链接到的库必须排在最后

gcc  myAcl.c -lacl

07-24 09:27