初学opengl(一)第一个opengl程序及error LNK2019: unresolved external symbol的解决
来源:互联网 发布:天猫魔盒屏蔽升级域名 编辑:程序博客网 时间:2024/05/28 17:05
操作系统:Windows 8.1; 开发环境:Visual Studio 2013
opengl的安装非常简单,很多人写博客介绍,随便找一个跟着做就差不多。
安装完成后,找了一个同学写好的工程拿来测试,可以用。然后,自己新建一个工程,Win32 Console Application,Empty project。
网上找来一个最简单程序,在窗口中画一个红色的方块,用来学习。
#include <gl/glut.h>void Initial();void Display();int main(int argc, char *argv[]){glutInit(&argc, argv);glutCreateWindow("My First Opengl Project");glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);glutInitWindowSize(500, 400);glutInitWindowPosition(200, 100);glutDisplayFunc(Display);Initial();glutMainLoop(); return 0;}void Display(){glClear(GL_COLOR_BUFFER_BIT);glColor3f(1.0f, 0.0f, 0.0f);glRectf(50.0f, 100.0f, 150.0f, 50.0f);glFlush();}void Initial(){glClearColor(1.0f, 1.0f, 1.0f, 1.0f);glMatrixMode(GL_PROJECTION);gluOrtho2D(0.0, 200.0, 0.0, 150.0);}可是,编译的时候,一直报错,error LNK2019: unresolved external symbol,无法解析的外部符号。具体如下
1>test.obj : error LNK2019: unresolved external symbol __imp__glClear@4 referenced in function "void __cdecl Display(void)" (?Display@@YAXXZ)1>test.obj : error LNK2019: unresolved external symbol __imp__glClearColor@16 referenced in function "void __cdecl Initial(void)" (?Initial@@YAXXZ)1>test.obj : error LNK2019: unresolved external symbol __imp__glColor3f@12 referenced in function "void __cdecl Display(void)" (?Display@@YAXXZ)1>test.obj : error LNK2019: unresolved external symbol __imp__glFlush@0 referenced in function "void __cdecl Display(void)" (?Display@@YAXXZ)1>test.obj : error LNK2019: unresolved external symbol __imp__glMatrixMode@4 referenced in function "void __cdecl Initial(void)" (?Initial@@YAXXZ)1>test.obj : error LNK2019: unresolved external symbol __imp__glRectf@16 referenced in function "void __cdecl Display(void)" (?Display@@YAXXZ)1>test.obj : error LNK2019: unresolved external symbol _gluOrtho2D@32 referenced in function "void __cdecl Initial(void)" (?Initial@@YAXXZ)1>test.obj : error LNK2019: unresolved external symbol _glutInit@8 referenced in function _main1>test.obj : error LNK2019: unresolved external symbol _glutInitDisplayMode@4 referenced in function _main1>test.obj : error LNK2019: unresolved external symbol _glutInitWindowPosition@8 referenced in function _main1>test.obj : error LNK2019: unresolved external symbol _glutInitWindowSize@8 referenced in function _main1>test.obj : error LNK2019: unresolved external symbol _glutMainLoop@0 referenced in function _main1>test.obj : error LNK2019: unresolved external symbol _glutCreateWindow@4 referenced in function _main1>test.obj : error LNK2019: unresolved external symbol _glutDisplayFunc@4 referenced in function _main1>E:\visual studio 2013\Projects\FirstOpengl\Debug\FirstOpengl.exe : fatal error LNK1120: 14 unresolved externals在网上找了很多教程,都没有解决。
当出现这种错误的时候,肯定不是程序有错,而是链接过程出错。即,程序没有找到在.h文件中定义的函数的实现。
有人说在最开头加上这么一句 #define GLUT_DISABLE_ATEXIT_HACK
大家可以试一下,我的问题是没有解决,但是也可能不同的机器会有不同的结果吧。
也有人说在程序段之前加这一句 #pragma comment(lib,"glut32.lib")
结果还是跟报error LNK2019,但是之前的14条错误,现在变成了7条,应该也是有点用的吧。
之后在一个英文网站上找到了解决方案,http://stackoverflow.com/questions/5365441/opengl-glut-compiling-issues
解决的方式为:Project ---> Properties ---> configuration properties ---> Linker ---> Input ---> Additional Dependencies中添加
glut32.libglu32.libopengl32.lib问题解决,编译成功。
0 0
- 初学opengl(一)第一个opengl程序及error LNK2019: unresolved external symbol的解决
- error LNK2019: unresolved external symbol错误,解决
- 解决Error LNK2019: unresolved external symbol
- error LNK2019: unresolved external symbol _IID_IMPEG2PIDMap连接错误的解决
- error LNK2019:unresolved external symbol的解决方法
- opengl vc++ vs2008 解决 unresolved external symbol
- OpenGL项目出现错误:error LNK2019: unresolved external symbol _gluErrorString@4
- Error LNK2019: unresolved external symbol
- error LNK2019: unresolved external symbol
- error LNK2019: unresolved external symbol
- error LNK2019: unresolved external symbol
- error LNK2019: unresolved external symbol
- error LNK2019: unresolved external symbol
- Error LNK2019: unresolved external symbol
- error LNK2019:unresolved external symbol
- error LNK2019: unresolved external symbol
- error LNK2019:unresolved external symbol
- Error LNK2019: unresolved external symbol
- oracle 分页
- 图像识别中的深度学习
- http协议学习系列
- Android Shape 笔记
- 原来我从前是那么的努力啊 。哈哈哈。
- 初学opengl(一)第一个opengl程序及error LNK2019: unresolved external symbol的解决
- sublime
- Linux init运行级别
- android java文件调用.so文件
- 解密WEP和WPA-PSK/WPA-PSK加密的数据包
- 159. Longest Substring with At Most Two Distinct Characters
- Android性能优化之过渡绘制
- MiniDumpWriteDump
- java命令模式