GLEW库和代码块

GLEW Library and Code::Blocks

本文关键字:代码 GLEW      更新时间:2023-10-16

我知道,我已经问过这个问题了,但它被标记为重复的,但没有其他问题的答案是为我工作的,所以我必须再问这个问题,因为重复的标志在我编辑这个问题后没有被删除。
这是我的问题(再次):

我有一个问题Code:: block .
我想尝试一些我学到的关于OpenGL的东西,因为我想用Code::Blocks来做。

但是每次我尝试链接库(GLEW)时,我都无法编译我的代码。

    objDebugsourcemain.o:main.cpp:(.text+0x97): undefined reference to `ChoosePixelFormat@8'
    objDebugsourcemain.o:main.cpp:(.text+0xad): undefined reference to `SetPixelFormat@12'
    objDebugsourcemain.o:main.cpp:(.text+0xbb): undefined reference to `wglCreateContext@4'
    objDebugsourcemain.o:main.cpp:(.text+0xd0): undefined reference to `wglMakeCurrent@8'
    objDebugsourcemain.o:main.cpp:(.text+0xdf): undefined reference to `glMatrixMode@4'
    objDebugsourcemain.o:main.cpp:(.text+0xe7): undefined reference to `glLoadIdentity@0'
    objDebugsourcemain.o:main.cpp:(.text+0x103): undefined reference to `gluOrtho2D@32'
    objDebugsourcemain.o:main.cpp:(.text+0x112): undefined reference to `glMatrixMode@4'
    objDebugsourcemain.o:main.cpp:(.text+0x247): undefined reference to `GetStockObject@4'
    objDebugsourcemain.o:main.cpp:(.text+0x439): undefined reference to `GetStockObject@4'
    objDebugsourcemain.o:main.cpp:(.text+0x5b8): undefined reference to `wglMakeCurrent@8'
    objDebugsourcemain.o:main.cpp:(.text+0x5c6): undefined reference to `wglDeleteContext@4'
    objDebugsourcemain.o:main.cpp:(.text+0x64a): undefined reference to `wglMakeCurrent@8'
    objDebugsourcemain.o:main.cpp:(.text+0x65a): undefined reference to `wglDeleteContext@4'
    objDebugsourcemain.o:main.cpp:(.text+0x850): undefined reference to `glBegin@4'
    objDebugsourcemain.o:main.cpp:(.text+0x893): undefined reference to `glColor3ub@12'
    objDebugsourcemain.o:main.cpp:(.text+0x8a8): undefined reference to `glVertex2d@16'
    objDebugsourcemain.o:main.cpp:(.text+0x8b0): undefined reference to `glEnd@0'

我将GL/glw .h和GL/GL .h包含在我的代码顶部,链接设置为:
释放1。… glew lib x64 glew32s.lib
2。… glew lib x64 glew32发布。自由

这是构建命令:

mingw32-g++.exe -LE:...glew-1.13.0include -o binDebugTestProject.exe objDebugsourcemain.o   ...glew-1.13.0libReleasex64glew32s.lib ...glew-1.13.0libReleasex64glew32.lib "...glew-1.13.0libRelease MXx64glew32mxs.lib" "...glew-1.13.0libRelease MXx64glew32mx.lib"

我尝试了之前所有问题的答案,但没有一个对我有效…即使我不使用任何OpenGL函数我得到这个错误。我知道这些错误是什么,如果它们来自我的代码,我应该怎么做,但我不知道现在该怎么办。
请删除双后符号,因为推荐问题的答案对我没有帮助。

我真的希望你能帮助我。谢谢你。

在包含GL/glew.h之前是否定义了GLEW_STATIC ?也去编译器设置面板,并在其他选项中添加-DGLEW_STATIC

通过将glew32sopengl32添加到链接器设置中,确保正确地链接了库。