[英]ubuntu and libcap (capabilities) undefined reference
我正在嘗試在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
。
希望這可以幫助!
我正在研究Ubuntu 10.04,我遇到了同樣的問題( sys/capability.h not present on the file system
)。
我解決了這個問題,通過Synaptic Package Manager安裝包libcap-dev
(版本1:2.17-2ubuntul),它使用capability.h
文件填充/usr/include/sys
文件夾。
對於RHEL:
yum install libcap-devel
gcc -lcap test.c
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.