提示コードですがmakefile
でコマンド提示コードのエラーが出るのでpkg-config
にパスを通して必要なリンクとライブラリ情報を得ようと思ったのですがなぜかパスを設定しても同じエラーが出ます。これはなぜでしょうか?原因がわかりません。参考サイトを参考にしました。
$ echo $PKG_CONFIG_PATH /usr/lib/
コマンド
$ 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 -lGL -lGLEW -lglfw3 -lfreetype /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
コマンド
$ pkg-config --cflags opengl Package opengl was not found in the pkg-config search path. Perhaps you should add the directory containing `opengl.pc' to the PKG_CONFIG_PATH environment variable No package 'opengl' found
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 -lGL -lGLEW -lglfw3 -lfreetype $(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)
回答1件
あなたの回答
tips
プレビュー