簡體   English   中英

ubuntu和libcap(功能)未定義的引用

[英]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.cgcc 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM