我写了一个这样的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文件中。
如何解决此错误?
答案 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中的问题