我有一个名为libtaskres.so的自定义库,我安装在/usr/lib/procman中。我的 Makefile 像这样构建我的程序:
gcc -c procman.c -o obj/procman.o
gcc -c procman_power.c -o obj/procman_power.o
gcc -c procman_sched.c -o obj/procman_sched.o
gcc obj/procman.o obj/procman_power.o obj/procman_sched.o -o procman -ltaskres
但是每当我make
这样做时,链接器都会返回以下错误:
/usr/bin/ld: cannot find -ltaskres
collect2: error: ld returned 1 exit status
make: *** [procman] Error 1
但是我确实包含了我的库,使用ldconfig
:
:$ cat /etc/ld.so.conf.d/procman.conf
/usr/lib/procman
:$ ls /usr/lib/procman/
total 24K
24K -rw-r--r-- 1 root root 21K 2013-Oct-31 15:06:14 libtaskres.so
我还检查了:
:$ ldconfig -v | grep libtaskres
libtaskres.so -> libtaskres.so
我究竟做错了什么?如果我将 -L/usr/lib/procman 添加到链接器参数中,它似乎可以找到它,但我不需要它,对吧?