usr / bin / ld: не могу найти -l <DynamicLibraryName> - PullRequest
0 голосов
/ 28 марта 2020

Я новичок в C ++, и я начал изучать этот язык, выполняя игру Snake в cpp ..

. Я не понимаю, какая ошибка произошла при компиляции ..

У меня есть этот make-файл, который создает динамический c librair ie

CC=g++
CFLAG= -fPIC -Wall -Wpedantic

DIR_OBJ=Objet_de_librairie
DIR_LIB=Librairie
DIR_SRC=Source_librairie

NAME_LIB=OpenGlSharedLib
LIB_SO=$(NAME_LIB).so


.PHONY=all


all: CREATE_DIR CREATE_OBJET CREATE_LIB

CREATE_DIR:
    @mkdir -p $(DIR_LIB)
    @mkdir -p $(DIR_OBJ)

CREATE_OBJET:
    @$(CC) $(CFLAG) -c $(DIR_SRC)/$(NAME_LIB).cpp -o $(DIR_OBJ)/$(NAME_LIB).o

CREATE_LIB: $(DIR_OBJ)/$(NAME_LIB).o
    @$(CC) -shared $(DIR_OBJ)/$(NAME_LIB).o -o $(DIR_LIB)/$(LIB_SO)

clean:
    @rm -r $(DIR_LIB)
    @rm -r $(DIR_OBJ)

, этот make-файл запускается другим make-файлом с коммандой

COMPILE_LIB:
    $(MAKE) -C $(LIB)

и, наконец, создает вывод с помощью правила:

$(OUTPUT): $(OBJ)
    $(CC) $(OBJ) -L/home/schweppes/Documents/Projets/snake/Lib/Librairie -o $(OUTPUT_DIR)/$(OUTPUT) -lOpenGlSharedLib -ldl

Я позаботился об экспорте

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/schweppes/Documents/Projets/snake/Lib/Librairie

, в котором есть библиотека OpenGlSharedLib.so

Но я не понимаю, почему я получаю ошибку

/usr/bin/ld : ne peut trouver -lOpenGlSharedLib
collect2: error: ld returned 1 exit status

ne peut Trouver -lOpenGlSharedLib означает ** не может найти -lOpenGlSharedLib **

Кто-то уже получил этот сбой ??

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...