0

C 新手,尝试制作我自己的第一个库。但是 gcc 说找不到库。使用 -L/lib/path 应该没问题,但事实并非如此。

仅供参考,我使用 Mac os x。

~/c$make
gcc -c -o obj/hellomake.o src/hellomake.c -I./include
gcc -c -o obj/hellofunc.o src/hellofunc.c -I./include
gcc -o hellomake obj/hellomake.o obj/hellofunc.o -I./include -L./lib -lm -llibfunc
ld: library not found for -llibfunc
collect2: ld returned 1 exit status
make: *** [hellomake] Error 1

~/c$ls ./lib
README.txt libfunc.a  libfunc1.c libfunc1.o libfunc2.c libfunc2.o
4

3 回答 3

5

-l参数自动将lib部件添加到库名称之前。所以该命令应该用来-lfunc代替-llibfunc.

于 2012-05-10T19:07:53.700 回答
2

lib链接时删除libfunc。只需使用-lfunc.

于 2012-05-10T19:07:55.500 回答
1

使用-lfunc,跳过前缀lib.

于 2012-05-10T19:08:27.553 回答