Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/143.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
构建成功,但在尝试运行程序时出现GLEW错误 我试图编译和运行一个C++和OpenGL(带GLW)程序的代码块13.12。< /P>_C++_Opengl_Codeblocks_Glew - Fatal编程技术网

构建成功,但在尝试运行程序时出现GLEW错误 我试图编译和运行一个C++和OpenGL(带GLW)程序的代码块13.12。< /P>

构建成功,但在尝试运行程序时出现GLEW错误 我试图编译和运行一个C++和OpenGL(带GLW)程序的代码块13.12。< /P>,c++,opengl,codeblocks,glew,C++,Opengl,Codeblocks,Glew,代码构建成功,但当我想运行它时,它会给我一个错误(未找到入口点),上面说: 程序入口点glewInit@0无法在中找到 动态链接库glew32.dll glew32.dll位于System32文件夹中(我使用的是Win7 x64) 编辑: 我当前遇到的错误有: ||=== Build: Debug in tutorial2cpp (compiler: GNU GCC Compiler) ===| obj\Debug\glew.o||In function `glewInit_GL_VERSION

代码构建成功,但当我想运行它时,它会给我一个错误(未找到入口点),上面说:

程序入口点glewInit@0无法在中找到 动态链接库glew32.dll

glew32.dll位于System32文件夹中(我使用的是Win7 x64)

编辑:

我当前遇到的错误有:

||=== Build: Debug in tutorial2cpp (compiler: GNU GCC Compiler) ===|
obj\Debug\glew.o||In function `glewInit_GL_VERSION_1_2':|
N:\projekticpp\OpenGL\samhocevartutorial\tutorial2cpp\glew.c|3233|undefined reference to `wglGetProcAddress@4'|
N:\projekticpp\OpenGL\samhocevartutorial\tutorial2cpp\glew.c|3234|undefined reference to `wglGetProcAddress@4'|
N:\projekticpp\OpenGL\samhocevartutorial\tutorial2cpp\glew.c|3235|undefined reference to `wglGetProcAddress@4'|
N:\projekticpp\OpenGL\samhocevartutorial\tutorial2cpp\glew.c|3236|undefined reference to `wglGetProcAddress@4'|
obj\Debug\glew.o||In function `glewInit_GL_VERSION_1_3':|
N:\projekticpp\OpenGL\samhocevartutorial\tutorial2cpp\glew.c|3253|undefined reference to `wglGetProcAddress@4'|
obj\Debug\glew.o:N:\projekticpp\OpenGL\samhocevartutorial\tutorial2cpp\glew.c|3254|more undefined references to `wglGetProcAddress@4' follow|
obj\Debug\glew.o||In function `glewGetExtension@4':|
N:\projekticpp\OpenGL\samhocevartutorial\tutorial2cpp\glew.c|9475|undefined reference to `glGetString@4'|
obj\Debug\glew.o||In function `glewContextInit':|
N:\projekticpp\OpenGL\samhocevartutorial\tutorial2cpp\glew.c|9495|undefined reference to `glGetString@4'|
N:\projekticpp\OpenGL\samhocevartutorial\tutorial2cpp\glew.c|9535|undefined reference to `glGetString@4'|
obj\Debug\glew.o||In function `glewInit_WGL_3DL_stereo_control':|
N:\projekticpp\OpenGL\samhocevartutorial\tutorial2cpp\glew.c|11540|undefined reference to `wglGetProcAddress@4'|
obj\Debug\glew.o||In function `glewInit_WGL_AMD_gpu_association':|
N:\projekticpp\OpenGL\samhocevartutorial\tutorial2cpp\glew.c|11553|undefined reference to `wglGetProcAddress@4'|
N:\projekticpp\OpenGL\samhocevartutorial\tutorial2cpp\glew.c|11554|undefined reference to `wglGetProcAddress@4'|
N:\projekticpp\OpenGL\samhocevartutorial\tutorial2cpp\glew.c|11555|undefined reference to `wglGetProcAddress@4'|
N:\projekticpp\OpenGL\samhocevartutorial\tutorial2cpp\glew.c|11556|undefined reference to `wglGetProcAddress@4'|
obj\Debug\glew.o:N:\projekticpp\OpenGL\samhocevartutorial\tutorial2cpp\glew.c|11557|more undefined references to `wglGetProcAddress@4' follow|
obj\Debug\glew.o||In function `wglewGetExtension@4':|
N:\projekticpp\OpenGL\samhocevartutorial\tutorial2cpp\glew.c|12111|undefined reference to `wglGetCurrentDC@0'|
obj\Debug\glew.o||In function `wglewContextInit@0':|
N:\projekticpp\OpenGL\samhocevartutorial\tutorial2cpp\glew.c|12124|undefined reference to `wglGetProcAddress@4'|
N:\projekticpp\OpenGL\samhocevartutorial\tutorial2cpp\glew.c|12125|undefined reference to `wglGetProcAddress@4'|
N:\projekticpp\OpenGL\samhocevartutorial\tutorial2cpp\glew.c|12133|undefined reference to `wglGetCurrentDC@0'|
||=== Build failed: 19 error(s), 0 warning(s) (0 minute(s), 1 second(s)) ===|
选择的编译器是GNU GCC编译器,我没有更改任何编译器设置


我想检查一下,这显然只是增加了一些东西。因此,我将part#1代码复制到project中,但我得到了所有这些错误。很明显,我缺少一些基础知识,因为大多数试图让它运行的人似乎没有任何重大问题。由于这个原因,我几乎被卡住了,但我想学习如何解决此类问题,以便在将来避免这些问题。

基本上,此错误消息告诉您,您链接的符号定义(
.lib
)与系统找到的DLL不匹配

最好的做法是将GLEW与程序静态链接,这样可以避免DLL问题。有关如何操作,请参阅上的“包括源文件/项目文件”一节

glew32.dll位于System32文件夹中


永远不要将任何不属于Windows发行版的内容写入
System32
\Windows
下的任何其他目录中–事情会崩溃的。

@JamesC:首先也是最重要的一点:不要为GLEW的二进制下载而烦恼。库的二进制发行版的问题是,它们必须与您使用的编译器匹配。如果他们不这样做,你就有麻烦了(事实上,就像你的那个)。获取GLEW的源代码,将GLEW.c添加到您的项目中,并将其附加到要编译的源文件列表中。@JamesC:您现在遇到了什么错误?请在问题中添加完整的错误日志。另外,您使用哪个构建环境/工具链/编译器版本?默认情况下,代码块随MinGW GCC一起提供,但也有其他选项。我已经编辑了这个问题,将txt文件包含在错误日志中。如果您告诉我在哪里可以检查“构建环境/工具链/编译器版本”,我将不胜感激,因为我对编程和代码块比较陌生,所以这将对我帮助很大。总而言之,我相信我在添加和编辑文件时把项目搞得一团糟。也许你可以帮我编辑你的答案,让我知道如果我从头开始GLEW项目,我必须采取什么步骤。这是我能想到的最防错的解决方案=)谢谢。@JamesC:供将来参考:StackOverflow礼仪是将日志文本、源代码等直接粘贴到问题中。不要使用指向Dropbox或类似内容的链接。@JamesC:请注意,错误报告前面有一个
l
,因此我想说您的配置中仍然存在一些错误。同样在GCC中,库也可以是名称
libopengl32.a
libgdi32.a
;但是,这并不重要,因为链接器只使用库名称,而不使用任何文件前缀或后缀。在链接器命令行上,选项看起来像
-lopengl32-lgdi32
(请注意,没有尾随
.lib
,并且文件名的任何前面的
lib…
都不会传递给
-l
编译器开关)。