Использование путей к библиотекам в make-файлах - PullRequest
8 голосов
/ 23 июня 2011

Я написал make-файл так:

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

Я создал собственную статическую библиотеку и включил путь к файлу заголовка и путь к библиотеке. Когда я выполняю свой make-файл, он выдает ошибку, говорящую, что /usr/lib/gcc не могу найти -larith -ldekk.

Он указывает на каталог lib /, но его там нет: -ldekk и -larith находятся в файлах source1 и source2 соответственно.

Как решить эту ошибку?

1 Ответ

11 голосов
/ 23 июня 2011

Вместо -L./cygdrive/c используйте -L/cygdrive/c.Точка делает путь к библиотеке относительно текущего каталога, т. Е. Будет искать подпапку cygdrive текущей папки вместо диска C.

...