提示コードですが以下のmakefile
で undefined reference to
というエラーが出るのですがこれは何が原因なのでしょうか?
試したこと
glfw,glewの順序を入れ替える-D GLEW_STATIC
を追加 参考サイトを参考にしました。
参考サイト: https://stackoverflow.com/questions/13384510/glew-linker-errors-undefined-reference-to-glewbindvertexarray
環境
OS: windows10
コンパイラ: g++
Makefile
makefile
PRG :=libFrameWork.a SRC_DIR :=src 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)))) $(PRG): $(OBJ) $(CXX) $^ -o $@ -D GLEW_STATIC -lopengl32 -Llibrary/lib -lglfw3 -lglew32s -lfreetype # ar rcs test/lib/$@ $(OBJ) $(OBJ_DIR)/%.o: src/%.cpp $(CXX) -c -MMD -MP -Ilibrary -Ilibrary/freetype $< -o $@ -include $(DEP) clean: rm -f ./$(OBJ_DIR)/*.o *.out ./$(OBJ_DIR)/*.d $(PRG)
ディレクトリ構成
C:\Users\yw325\Desktop\FrameWork\library\lib>dir ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は 5EA1-4B93 です C:\Users\yw325\Desktop\FrameWork\library\lib のディレクトリ 2022/10/24 12:41 <DIR> . 2022/10/24 12:41 <DIR> .. 2022/05/02 18:16 48,658 freetype.lib 2017/07/31 20:42 701,288 glew32.lib 2017/07/31 20:42 2,584,968 glew32s.lib 2022/07/22 22:41 634,898 glfw3.lib 4 個のファイル 3,969,812 バイト 2 個のディレクトリ 194,954,461,184 バイトの空き領域 C:\Users\yw325\Desktop\FrameWork\library\lib>
コンソール
省略 c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: obj/Sprite.o:Sprite.cpp:(.text+0x28b): undefined reference to `_imp____glewBindBuffer' c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: obj/Sprite.o:Sprite.cpp:(.text+0x2a8): undefined reference to `_imp____glewBufferSubData' c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: obj/Sprite.o:Sprite.cpp:(.text+0x311): undefined reference to `_imp____glewBindVertexArray' c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: obj/Sprite.o:Sprite.cpp:(.text+0x324): undefined reference to `_imp____glewBindBuffer' c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: obj/Window.o:Window.cpp:(.text+0x48): undefined reference to `glfwCreateWindow' c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: obj/Window.o:Window.cpp:(.text+0x179): undefined reference to `glfwRawMouseMotionSupported' c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: obj/Window.o:Window.cpp:(.text+0x1b6): undefined reference to `glfwSetWindowUserPointer' c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: obj/Window.o:Window.cpp:(.text+0x1cc): undefined reference to `glfwSetWindowSizeCallback' c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: obj/Window.o:Window.cpp:(.text+0x1e2): undefined reference to `glfwSetDropCallback' c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: obj/Window.o:Window.cpp:(.text+0x1f8): undefined reference to `glfwSetScrollCallback' c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: obj/Window.o:Window.cpp:(.text+0x20e): undefined reference to `glfwSetCharCallback' c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: obj/Window.o:Window.cpp:(.text+0x224): undefined reference to `glfwSetKeyCallback' c:/mingw/bin/../lib/gcc/m 省略
0 コメント