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
答案 0 :(得分:5)
-l
参数会自动将lib
部分添加到库名称前面。因此,该命令应使用-lfunc
代替-llibfunc
。
答案 1 :(得分:2)
关联lib
时删除libfunc
。只需使用-lfunc
。
答案 2 :(得分:1)
使用-lfunc
,跳过前缀lib.