GLEW图书馆和代码::块

时间:2015-10-24 16:49:16

标签: c++ opengl codeblocks glew

我知道,我已经问过这个问题,但它被标记为重复,但没有其他问题得到答案,答案对我有用,所以我不得不再次提出这个问题,因为重复的标志没有删除在我编辑了这个问题之后。
所以这是我的问题(再次):

我对Code :: Blocks有疑问 我想尝试一些我学到的关于OpenGL的东西,并且因为我想用Code :: Blocks做的原因。

但是每当我尝试链接库(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,链接器设置如下:
 1. ... \ glew \ lib \ Release \ x64 \ glew32s.lib
 2. ... \ glew \ lib \ Release \ x64 \ glew32.lib

这是Build命令:

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函数我也会得到这个错误。我知道这些错误是什么,并且知道如果它们来自我的代码我应该怎么做,但我现在不知道该怎么做。
请删除双后符号,因为推荐问题的答案对我没用。

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

1 个答案:

答案 0 :(得分:0)

在包含GLEW_STATIC之前,您是否定义了GL/glew.h?另请转到编译器设置面板,并添加-DGLEW_STATIC

到其他选项

确保通过将glew32sopengl32添加到链接器设置来正确链接lib。