我正在尝试在ubuntu 10.10上编译以下最小的C代码:
#include <sys/capability.h>
void main(void)
{
cap_t cap;
cap = cap_get_proc();
}
使用
gcc -lcap test.c
会给我以下错误:/tmp/ccCQFyXS.o: In function `main':
test.c:(.text+0x9): undefined reference to `cap_get_proc'
collect2: ld a retourné 1 code d'état d'exécution
我安装了libcap2-dev和libcap2-bin,版本为2.21
ls /lib/libcap.*
/lib/libcap.a /lib/libcap.so /lib/libcap.so.2 /lib/libcap.so.2.21
使用相同gcc命令的相同代码可以在arch和gentoo上成功构建
我应该怎么做才能使其也建立在ubuntu上?
最佳答案
尝试gcc -Wl,--no-as-needed -lcap test.c
或gcc test.c -lcap
。
希望这可以帮助!
关于c - ubuntu和libcap(功能)未定义的引用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8338379/