visual studio 2005 opengl 无法解析的外部符号

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了visual studio 2005 opengl 无法解析的外部符号相关的知识,希望对你有一定的参考价值。

这是我的程序
#include <gl/GLUT.h>
void myDisplay(void)

glClear(GL_COLOR_BUFFER_BIT);
glRectf(-0.5f,-0.5f,0.5f,0.5f);
glFlush();

int main(int argc,char *argv[])

glutInit(&argc,argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowPosition(100,100);
glutInitWindowSize(400,400);
glutCreateWindow("first OpenGL project");
glutDisplayFunc(&myDisplay);
glutMainLoop();
return 0;


出现错误
1>正在编译...
1>opengl.c
1>正在链接...
1>opengl.obj : error LNK2019: 无法解析的外部符号 __imp____glutInitWithExit@12,该符号在函数 _glutInit_ATEXIT_HACK@8 中被引用
1>opengl.obj : error LNK2019: 无法解析的外部符号 __imp____glutCreateWindowWithExit@8,该符号在函数 _glutCreateWindow_ATEXIT_HACK@4 中被引用
1>C:\Users\Administrator\Documents\Visual Studio 2005\Projects\q\Debug\q.exe : fatal error LNK1120: 2 个无法解析的外部命令
1>生成日志保存在“file://c:\Users\Administrator\Documents\Visual Studio 2005\Projects\q\q\Debug\BuildLog.htm”
1>q - 3 个错误,0 个警告
========== 全部重新生成: 0 已成功, 1 已失败, 0 已跳过 ==========

为什么。。。。。。

估计是没有导入glut.lib的原因,项目属性->连接器->输入->附加依赖项,把lib文件名写进去;lib文件放在Visual stodio的公共lib文件夹下或代码目录下都行。

追问

这样做完以后出现了这个错误。。。

1>LINK : fatal error LNK1104: 无法打开文件“glut.lib;glut32.lib”
1>q - 1 个错误,0 个警告========== 全部重新生成: 0 已成功, 1 已失败, 0 已跳过 ==========
。。。求救。。。

追答

这个错误是没有找到lib文件的原因,首先你要有lib文件,既然你用glut,就应该拥有了lib文件,把lib文件放在VS安装目录的VC->lib->gl文件夹下就好了。

参考技术A 我也 遇到 了 这个问题 ..

在#include <GL/glut.h>前面加一句:

#define GLUT_DISABLE_ATEXIT_HACK本回答被提问者采纳

Visual Studio 2012----OpenGL的配置

配置文件下载地址:

  http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip

下载完成解压后:会有glut.h glut.lib glut32.lib glut.dll glut32.dll这五个文件。

(1)将头文件glut.h放在 C:\Program Files\Microsoft Visual Studio 11.0\VC\include\gl\下(即:自己的Visual Studio 2012的安            装目录下)。找到\vc\include文件夹,若没有gl文件,自己新建一个文件夹,名为gl(大小写都可以),将glut.h放进去。

(2)将静态库文件glut.lib和glut32.lib放在 C:\Program Files\Microsoft Visual Studio 11.0\VC\lib\下

(3)将动态库文件glut.dll和glut32.dll放在 C:\Windows\System32\下。

通过以上3步,OpenGL的配置即完成,你可以找段程序进行测试。

可能会出现:

  OpenGL程序无法启动此应用程序,因为计算机中丢失glut32.dll

    这种情况。

  原因:自己的电脑是64位的,但是别急,有接口C:\Windows\SysWOW64\(文件SysWOW64是为了让32位的应用程序可以不经过任何修改就运行在64位的系统上所提供的接口)

    此时把动态库文件glut32.dll复制到C:\Windows\SysWOW64\下即可。

以上是关于visual studio 2005 opengl 无法解析的外部符号的主要内容,如果未能解决你的问题,请参考以下文章

visual studio 2005 图像上 添加 数字

用visual studio 2005 的问题

visual studio2005 缺少模板

急需!!!visual studio.net 2005怎么 设置环境变量?

Visual Studio 2012 与 Visual Studio 2005 中的小程序慢得多

第一次安装过visual studio2005删了,再第二次安装就安装不起来了!为啥?