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.net 2005怎么 设置环境变量?