GLEW 图书馆和 Code::Blocks
GLEW Library and Code::Blocks
我知道,我已经问过这个问题但它被标记为重复但没有其他问题的答案对我有用,所以我不得不再次问这个问题,因为重复我编辑这个问题后,flag 没有被删除。
所以这是我的问题(再次):
我对 Code::Blocks 有疑问。
我想尝试一些我学到的关于 OpenGL 的东西,并且由于我想用 Code::Blocks.
来做的原因
但是每次我尝试 link 库 (GLEW) 时,我都无法编译我的代码。
obj\Debug\source\main.o:main.cpp:(.text+0x97): undefined reference to `ChoosePixelFormat@8'
obj\Debug\source\main.o:main.cpp:(.text+0xad): undefined reference to `SetPixelFormat@12'
obj\Debug\source\main.o:main.cpp:(.text+0xbb): undefined reference to `wglCreateContext@4'
obj\Debug\source\main.o:main.cpp:(.text+0xd0): undefined reference to `wglMakeCurrent@8'
obj\Debug\source\main.o:main.cpp:(.text+0xdf): undefined reference to `glMatrixMode@4'
obj\Debug\source\main.o:main.cpp:(.text+0xe7): undefined reference to `glLoadIdentity@0'
obj\Debug\source\main.o:main.cpp:(.text+0x103): undefined reference to `gluOrtho2D@32'
obj\Debug\source\main.o:main.cpp:(.text+0x112): undefined reference to `glMatrixMode@4'
obj\Debug\source\main.o:main.cpp:(.text+0x247): undefined reference to `GetStockObject@4'
obj\Debug\source\main.o:main.cpp:(.text+0x439): undefined reference to `GetStockObject@4'
obj\Debug\source\main.o:main.cpp:(.text+0x5b8): undefined reference to `wglMakeCurrent@8'
obj\Debug\source\main.o:main.cpp:(.text+0x5c6): undefined reference to `wglDeleteContext@4'
obj\Debug\source\main.o:main.cpp:(.text+0x64a): undefined reference to `wglMakeCurrent@8'
obj\Debug\source\main.o:main.cpp:(.text+0x65a): undefined reference to `wglDeleteContext@4'
obj\Debug\source\main.o:main.cpp:(.text+0x850): undefined reference to `glBegin@4'
obj\Debug\source\main.o:main.cpp:(.text+0x893): undefined reference to `glColor3ub@12'
obj\Debug\source\main.o:main.cpp:(.text+0x8a8): undefined reference to `glVertex2d@16'
obj\Debug\source\main.o:main.cpp:(.text+0x8b0): undefined reference to `glEnd@0'
我在我的代码顶部包含了 GL/glew.h 和 GL/gl.h,linker-settings 是:
1. ...\glew\lib\Release\x64\glew32s.lib
2. ...\glew\lib\Release\x64\glew32.lib
这是构建命令:
mingw32-g++.exe -LE:...\glew-1.13.0\include -o bin\Debug\TestProject.exe obj\Debug\source\main.o ...\glew-1.13.0\lib\Release\x64\glew32s.lib ...\glew-1.13.0\lib\Release\x64\glew32.lib "...\glew-1.13.0\lib\Release MX\x64\glew32mxs.lib" "...\glew-1.13.0\lib\Release MX\x64\glew32mx.lib"
我尝试了之前问题的所有答案,但没有任何效果...即使我不使用任何 OpenGL 函数,我也会收到此错误。我知道这些错误是什么,如果它们来自我的代码,我会知道我应该怎么做,但我现在不知道该怎么办。
请删除双post符号,因为推荐问题的答案对我没有帮助。
我真的希望你能帮助我。
谢谢。
您是否在包含 GL/glew.h
之前定义了 GLEW_STATIC
?还要转到编译器设置面板,并在其他选项中添加 -DGLEW_STATIC
.
通过将 glew32s
和 opengl32
添加到链接器设置,确保您正确链接了库。
我知道,我已经问过这个问题但它被标记为重复但没有其他问题的答案对我有用,所以我不得不再次问这个问题,因为重复我编辑这个问题后,flag 没有被删除。
所以这是我的问题(再次):
我对 Code::Blocks 有疑问。
我想尝试一些我学到的关于 OpenGL 的东西,并且由于我想用 Code::Blocks.
但是每次我尝试 link 库 (GLEW) 时,我都无法编译我的代码。
obj\Debug\source\main.o:main.cpp:(.text+0x97): undefined reference to `ChoosePixelFormat@8'
obj\Debug\source\main.o:main.cpp:(.text+0xad): undefined reference to `SetPixelFormat@12'
obj\Debug\source\main.o:main.cpp:(.text+0xbb): undefined reference to `wglCreateContext@4'
obj\Debug\source\main.o:main.cpp:(.text+0xd0): undefined reference to `wglMakeCurrent@8'
obj\Debug\source\main.o:main.cpp:(.text+0xdf): undefined reference to `glMatrixMode@4'
obj\Debug\source\main.o:main.cpp:(.text+0xe7): undefined reference to `glLoadIdentity@0'
obj\Debug\source\main.o:main.cpp:(.text+0x103): undefined reference to `gluOrtho2D@32'
obj\Debug\source\main.o:main.cpp:(.text+0x112): undefined reference to `glMatrixMode@4'
obj\Debug\source\main.o:main.cpp:(.text+0x247): undefined reference to `GetStockObject@4'
obj\Debug\source\main.o:main.cpp:(.text+0x439): undefined reference to `GetStockObject@4'
obj\Debug\source\main.o:main.cpp:(.text+0x5b8): undefined reference to `wglMakeCurrent@8'
obj\Debug\source\main.o:main.cpp:(.text+0x5c6): undefined reference to `wglDeleteContext@4'
obj\Debug\source\main.o:main.cpp:(.text+0x64a): undefined reference to `wglMakeCurrent@8'
obj\Debug\source\main.o:main.cpp:(.text+0x65a): undefined reference to `wglDeleteContext@4'
obj\Debug\source\main.o:main.cpp:(.text+0x850): undefined reference to `glBegin@4'
obj\Debug\source\main.o:main.cpp:(.text+0x893): undefined reference to `glColor3ub@12'
obj\Debug\source\main.o:main.cpp:(.text+0x8a8): undefined reference to `glVertex2d@16'
obj\Debug\source\main.o:main.cpp:(.text+0x8b0): undefined reference to `glEnd@0'
我在我的代码顶部包含了 GL/glew.h 和 GL/gl.h,linker-settings 是:
1. ...\glew\lib\Release\x64\glew32s.lib
2. ...\glew\lib\Release\x64\glew32.lib
这是构建命令:
mingw32-g++.exe -LE:...\glew-1.13.0\include -o bin\Debug\TestProject.exe obj\Debug\source\main.o ...\glew-1.13.0\lib\Release\x64\glew32s.lib ...\glew-1.13.0\lib\Release\x64\glew32.lib "...\glew-1.13.0\lib\Release MX\x64\glew32mxs.lib" "...\glew-1.13.0\lib\Release MX\x64\glew32mx.lib"
我尝试了之前问题的所有答案,但没有任何效果...即使我不使用任何 OpenGL 函数,我也会收到此错误。我知道这些错误是什么,如果它们来自我的代码,我会知道我应该怎么做,但我现在不知道该怎么办。
请删除双post符号,因为推荐问题的答案对我没有帮助。
我真的希望你能帮助我。 谢谢。
您是否在包含 GL/glew.h
之前定义了 GLEW_STATIC
?还要转到编译器设置面板,并在其他选项中添加 -DGLEW_STATIC
.
通过将 glew32s
和 opengl32
添加到链接器设置,确保您正确链接了库。