使用Code :: Blocks安装GLEW

问题描述 投票:0回答:1

我正在尝试使用Code :: Blocks安装GLEW。以下是我安装和使用它的方法:

  1. 我已经下载了GLEW here
  2. 我打开了下载的zip文件,并将glew-2.0.0.zip\glew-2.0.0\include\GL中的所有文件复制到C:\Program Files (x86)\CodeBlocks\MinGW\include\GL
  3. 为了编译GLEW,我使用New-> Project-> Static library在Code :: Blocks中创建了一个新项目。在那个项目中,我删除了main.c并在glew-2.0.0.zip\glew-2.0.0\src中添加了三个.c文件。然后我点击了Build并获得了一个我复制到C:\Program Files (x86)\CodeBlocks\MinGW\lib的libglew.a文件。
  4. 在我的C ++项目中,我点击了Project-> Build Options。
  5. 在#defines选项卡的Compiler Settings选项卡中,我像这样写了GLEW_STATICscreenshot
  6. 在Build选项的Linker设置选项卡中,我添加了C:\Program Files (x86)\CodeBlocks\MinGW\lib\libglew.a
  7. 在我的项目开始时,我写了#include <GL/glew.h>以包括GLEW。
  8. 为了初始化GLEW,我在main.cpp中编写了GLenum initialisationGLEW(glewInit());(我已经初始化了SDL和OpenGL)。

问题是,当我尝试编译我的项目时,我收到以下错误:

C:\ Program Files(x86)\ CodeBlocks \ MinGW \ lib \ libglew.a(glew.o):在函数glewInit_GL_VERSION_1_3': C:/Users/dduck/Desktop/glew/glew.c:7538: undefined reference towglGetProcAddress @ 4'C:/Users/dduck/Desktop/glew/glew.c:7539:undefined reference to wglGetProcAddress@4' C:/Users/dduck/Desktop/glew/glew.c:7540: undefined reference towglGetProcAddress @ 4'C:/Users/dduck/Desktop/glew/glew.c:7541:未定义引用wglGetProcAddress@4' C:/Users/dduck/Desktop/glew/glew.c:7542: undefined reference towglGetProcAddress @ 4'C:\ Program Files(x86)\ CodeBlocks \ MinGW \ lib \ libglew.a(glew.o ):C:/Users/dduck/Desktop/glew/glew.c:7543:对wglGetProcAddress@4' follow C:\Program Files (x86)\CodeBlocks\MinGW\lib\libglew.a(glew.o): In functionglewContextInit'的更多未定义引用:C:/Users/dduck/Desktop/glew/glew.c:13470:未定义引用glGetString@4' C:/Users/dduck/Desktop/glew/glew.c:13530: undefined reference toglGetIntegerv @ 8' C:/Users/dduck/Desktop/glew/glew.c:13539:对wglGetProcAddress@4' C:/Users/dduck/Desktop/glew/glew.c:13593: undefined reference to_glewInit_GL_VERSION_1_2'C:\ Program Files(x86)\ CodeBlocks \ MinGW \ lib \ libglew.a(glew.o)的未定义引用:在函数glewInit_WGL_3DL_stereo_control': C:/Users/dduck/Desktop/glew/glew.c:15973: undefined reference towglGetProcAddress @中4'C:\ Program Files(x86)\ CodeBlocks \ MinGW \ lib \ libglew.a(glew.o):在函数glewInit_WGL_AMD_gpu_association': C:/Users/dduck/Desktop/glew/glew.c:15986: undefined reference towglGetProcAddress @ 4'C:/Users/dduck/Desktop/glew/glew.c:15987:undefined引用wglGetProcAddress@4' C:/Users/dduck/Desktop/glew/glew.c:15988: undefined reference towglGetProcAddress @ 4'C:/Users/dduck/Desktop/glew/glew.c:15989:undefined引用wglGetProcAddress@4' C:\Program Files (x86)\CodeBlocks\MinGW\lib\libglew.a(glew.o):C:/Users/dduck/Desktop/glew/glew.c:15990: more undefined references towglGetProcAddress @ 4'跟随C:\ Program Files(x86)\ CodeBlocks \ MinGW \ lib \ libglew.a(glew.o):在函数wglewGetExtension@4': C:/Users/dduck/Desktop/glew/glew.c:16473: undefined reference towglGetCurrentDC @ 0'C:\ Program Files(x86)\ CodeBlocks \ MinGW \ lib \ libglew.a(glew.o):在函数wglewInit@0': C:/Users/dduck/Desktop/glew/glew.c:16486: undefined reference towglGetProcAddress @ 4'C:/Users/dduck/Desktop/glew/glew.c:16487:未定义引用wglGetProcAddress@4' C:/Users/dduck/Desktop/glew/glew.c:16495: undefined reference towglGetCurrentDC @ 0'colle2.exe:错误:ld返回1退出状态

它说这些错误存在于C:\Users\dduck\Desktop\glew\glew.c文件中,这是我为了获取libglew.a而编译的文件之一,但它们来自我的C ++项目,而不是在我尝试编译libglew.a时。我设法编译libglew.a没有任何问题。所以我得到这个错误的项目不包含C:\Users\dduck\Desktop\glew\glew.c,它只包含C:\Program Files (x86)\CodeBlocks\MinGW\lib\libglew.a。更奇怪的是,我试图删除C:\Users\dduck\Desktop\glew\glew.c,编译器仍然说该文件中存在错误。我还尝试下载已编译的libglew.a here版本并使用它而不是我编译的版本。然后发生了一些更奇怪的事情:编译器说文件C:\Users\pb\Documents\dotA\glew.c中存在一个错误(与我的libglew.a版本相同),这个文件在我的计算机上从未存在过。

我究竟做错了什么?为什么我在不属于项目的文件中出现错误,有时甚至不存在?我该怎么办才能修复它?

编辑:

我试图在链接器设置中添加opengl32然后我只有一个错误:

C:\ Users \ dduck \ Desktop \ glew \ glew.c | 13593 |未定义引用`_glewInit_GL_VERSION_1_2'|

c++ opengl codeblocks glew
1个回答
0
投票

我不知道你是否已经这样做了,但要确保在链接器中链接这些文件:

glu32
glew32 
opengl32

所以,我知道你想使用glew32静态版本,但首先要确保动态版本正常工作。只需将glew的.dll文件放入包含可执行文件的文件夹中即可。如果它不起作用,请确保glews include文件夹位于编译器包含文件夹中(idk为什么,它就像那样)。

© www.soinside.com 2019 - 2024. All rights reserved.