Although it is a presentation code, I would like to know the cause of the error even if the link file is set.
Command
$ make
g++ obj/Ellipse.o obj/Line.o obj/Transform_2D.o obj/Circle.o obj/Rectangle.o obj/Triangle.o obj/Window.o obj/Camera.o obj/Main.o obj/Init.o obj/Resource.o obj/Text.o obj/Shader.o obj/Help.o obj/Point.o obj/Render.o obj/FrameWork.o obj/Simple_Draw.o -o GL -L/usr/local/lib -lGLU -lGL -lGLEW -lfreetype -lglfw3 -ldl
/usr/bin/ld: /usr/local/lib/libglfw3.a(posix_thread.c.o): undefined reference to symbol 'pthread_getspecific@@GLIBC_2.2.5'
/usr/bin/ld: /lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [Makefile:14: GL] エラー 1
Makefile
PRG :=GL
SRC_DIR :=source
OBJ_DIR :=obj
DEP_DIR :=obj
DEP :=$(wildcard $(DEP_DIR)/*.d)
SRC :=$(wildcard $(SRC_DIR)/*.cpp)
OBJ :=$(addprefix $(OBJ_DIR)/,$(patsubst %.cpp,%.o,$(notdir $(SRC))))
LDFLAGS :=`pkg-config --libs=opengl glew glfw3 freetype2`
$(PRG): $(OBJ)
#$(CXX) $^ -l ncurses -o $@
$(CXX) $^ -o $@ -L/usr/local/lib -lGLU -lGL -lGLEW -lfreetype -lglfw3 -ldl
$(OBJ_DIR)/%.o: source/%.cpp
#$(CXX) -std=c++2a -I/usr/local/include/freetype2 -I/usr/include/libpng16 -I/usr/local/include -c -MMD -MP $< -o $@
$(CXX) -std=c++2a -c -MMD -MP $< -o $@
-include $(DEP)
clean:
rm -f ./$(OBJ_DIR)/*.o *.out ./$(OBJ_DIR)/*.d *.a $(PRG)