LINUX.ORG.RU

Не находит библиотеку

 ,


0

1

Добрый день. Есть такой Makefile

IDIR = ../include
CC = gcc
CFLAGS = -I$(IDIR) -W -Wall -Werror -pedantic -std=c99 -g -Wno-unused-but-set-variable $(LDIR)

ODIR = obj
LDIR = -L/home/mitya/devel/nc_bds/lib/

LIBS = -lncursesw -libiniparser

_DEPS = main.h bds.h sensor.h
DEPS = $(patsubst %,$(IDIR)/%,$(_DEPS))


_OBJ = main.o bds.o sensor.o
OBJ = $(patsubst %,$(ODIR)/%,$(_OBJ))


$(ODIR)/%.o: %.c $(DEPS)
	$(CC) -c -o $@ $< $(CFLAGS)


bds: $(OBJ)
	$(CC) -o $@ $^ $(CFLAGS) $(LIBS)


.PHONY : clean
clean:
	rm -f $(ODIR)/*.o *~ core $(IDIR)/*~

Как видно, задаю еще путь, где лежит либа (/home/mitya/devel/nc_bds/lib/) и ls -l /home/mitya/devel/nc_bds/lib/ выдает

ls -l /home/mitya/devel/nc_bds/lib
total 24
-rwxrwxr-x 1 mitya mitya 20904 Jul 27 08:59 libiniparser.so.0

Но make упорно ругается:

make
gcc -o bds obj/main.o obj/bds.o obj/sensor.o -I../include -W -Wall -Werror -pedantic -std=c99 -g -Wno-unused-but-set-variable -L/home/mitya/devel/nc_bds/lib/ -lncursesw -libiniparser
/usr/bin/ld: cannot find -libiniparser
collect2: ld returned 1 exit status
make: *** [bds] Error 1

Ничего не пойму, почему он не видит путь к библиотеке, хотя я его задаю?

Ответ на: комментарий от aol
ls -l /home/mitya/devel/nc_bds/lib/
total 24
lrwxrwxrwx 1 mitya mitya    17 Jul 27 10:06 libiniparser.so -> libiniparser.so.0
-rwxrwxr-x 1 mitya mitya 20904 Jul 27 08:59 libiniparser.so.0

GreenBag ★★
() автор топика
Ответ на: комментарий от aol

БОЛЬШУЩЕЕ спасибо. Ибо тр***сь с этой ерундой второй час. Не знал, что ему нужно имеено так. Сам проглядел (ведь есть же в примере). Еще раз спасибо!!!

GreenBag ★★
() автор топика
Ответ на: комментарий от GreenBag

да, ключу -l префикс lib у библиотеки не нужен. вторая из примера находится в файле libncurses*.so

aol ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.