Я новичок в 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 **
Кто-то уже получил этот сбой ??