在makefile中使用库路径

时间:2011-06-23 08:35:19

标签: gcc makefile cygwin gnu-make

我写了一个这样的makefile:

HEADER = -I./cygdrive/c/cpros/kajj/source4
LIBB = -L./cygdrive/c/cpros/kajj/source1   -L./cygdrive/c/cpros/kajj/source2
LIBRA = -larith -ldekk

target : game.o 
    gcc $(HEADER)   $(LIBB)  $<  -o  $@  $(LIBRA)   

game.o : game.c 
    gcc -c  game.c

我创建了自己的静态库,包括头文件路径和库路径。当我执行我的makefile时,它会给出一个错误 /usr/lib/gcc无法找到-larith -ldekk

它指向lib /目录,但它不在那里:-ldekk-larith分别在source1和source2文件中。

如何解决此错误?

2 个答案:

答案 0 :(得分:11)

而不是-L./cygdrive/c,请使用-L/cygdrive/c。点使库路径相对于当前目录,即它将查找当前文件夹的cygdrive子文件夹而不是驱动器C.

答案 1 :(得分:0)

我修订的Makefile库行是:

LIBS=-L/usr/lib/arm-linux-gnueabihf -lrtlsdr -lpthread -lm

这解决了截至2019年12月30日运行最新Raspbain的Raspberry Pi 4中的问题