概述
最近在研究在ARToolKit这个框架,今天根据一个博客尝试着自己编译框架,遇到了不少问题,走过了不少坑,记录下自己遇到的几个问题,以免后面忘记了。
1、Error LNK2019错误
这个错误多数情况下是因为没有配置openGL的链接器,也就是lib。
collideTest.obj : error LNK2019: 无法解析的外部符号 __imp__glClear@4,该符号在函数 _draw 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2001: 无法解析的外部符号 __imp__glClear@4
4>collideTest.obj : error LNK2019: 无法解析的外部符号 __imp__glClearDepth@8,该符号在函数 _draw 中被引用
4>collideTest.obj : error LNK2019: 无法解析的外部符号 __imp__glColor3f@12,该符号在函数 _mainLoop 中被引用
4>collideTest.obj : error LNK2019: 无法解析的外部符号 __imp__glDepthFunc@4,该符号在函数 _draw 中被引用
4>collideTest.obj : error LNK2019: 无法解析的外部符号 __imp__glDisable@4,该符号在函数 _draw 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2001: 无法解析的外部符号 __imp__glDisable@4
4>collideTest.obj : error LNK2019: 无法解析的外部符号 __imp__glEnable@4,该符号在函数 _draw 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2001: 无法解析的外部符号 __imp__glEnable@4
4>collideTest.obj : error LNK2019: 无法解析的外部符号 __imp__glLightfv@12,该符号在函数 _draw_object 中被引用
4>collideTest.obj : error LNK2019: 无法解析的外部符号 __imp__glLineWidth@4,该符号在函数 _mainLoop 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2001: 无法解析的外部符号 __imp__glLineWidth@4
4>collideTest.obj : error LNK2019: 无法解析的外部符号 __imp__glLoadMatrixd@4,该符号在函数 _draw_object 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2001: 无法解析的外部符号 __imp__glLoadMatrixd@4
4>collideTest.obj : error LNK2019: 无法解析的外部符号 __imp__glMaterialfv@12,该符号在函数 _draw_object 中被引用
4>collideTest.obj : error LNK2019: 无法解析的外部符号 __imp__glMatrixMode@4,该符号在函数 _draw_object 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2001: 无法解析的外部符号 __imp__glMatrixMode@4
4>collideTest.obj : error LNK2019: 无法解析的外部符号 __imp__glTranslatef@12,该符号在函数 _draw_object 中被引用
4>collideTest.obj : error LNK2019: 无法解析的外部符号 _glutInit@8,该符号在函数 _main 中被引用
4>collideTest.obj : error LNK2019: 无法解析的外部符号 _glutSolidSphere@16,该符号在函数 _draw_object 中被引用
4>collideTest.obj : error LNK2019: 无法解析的外部符号 _glutSolidCube@8,该符号在函数 _draw_object 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 __imp__glBegin@4,该符号在函数 _argLineSeg 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 __imp__glBindTexture@8,该符号在函数 _argInit2 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 __imp__glCallList@4,该符号在函数 _argDispImageTex3 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 __imp__glClearColor@16,该符号在函数 _argInitLoop 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 __imp__glClearStencil@4,该符号在函数 _argInitStencil 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 __imp__glDrawPixels@20,该符号在函数 _argDispImageDrawPixels 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 __imp__glEnd@0,该符号在函数 _argLineSeg 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 __imp__glEndList@0,该符号在函数 _argDispImageTex3 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 __imp__glFlush@0,该符号在函数 _argLineSeg 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 __imp__glGenLists@4,该符号在函数 _argDispImageTex3 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 __imp__glGenTextures@8,该符号在函数 _argInit2 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 __imp__glLoadIdentity@0,该符号在函数 _argDrawMode2D 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 __imp__glNewList@8,该符号在函数 _argDispImageTex3 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 __imp__glOrtho@48,该符号在函数 _argDrawMode2D 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 __imp__glPixelStorei@8,该符号在函数 _argInit2 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 __imp__glPixelZoom@8,该符号在函数 _argDispImageDrawPixels 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 __imp__glRasterPos3f@12,该符号在函数 _argDispImageDrawPixels 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 __imp__glScissor@16,该符号在函数 _argDispImage 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 __imp__glStencilFunc@12,该符号在函数 _argInitStencil 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 __imp__glStencilOp@12,该符号在函数 _argInitStencil 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 __imp__glTexCoord2d@16,该符号在函数 _argDispImageTex3 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 __imp__glTexEnvf@12,该符号在函数 _argInit2 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 __imp__glTexImage2D@36,该符号在函数 _argDispImageTex3 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 __imp__glTexParameterf@12,该符号在函数 _argInit2 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 __imp__glTexSubImage2D@36,该符号在函数 _argDispImageTex3 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 __imp__glVertex2f@8,该符号在函数 _argLineSeg 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 __imp__glVertex3d@24,该符号在函数 _argDispImageTex3 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 __imp__glViewport@16,该符号在函数 _argDrawMode2D 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 _glutInitDisplayMode@4,该符号在函数 _argInit2 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 _glutInitWindowPosition@8,该符号在函数 _argInit2 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 _glutInitWindowSize@8,该符号在函数 _argInit2 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 _glutMainLoop@0,该符号在函数 _argMainLoop 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 _glutCreateWindow@4,该符号在函数 _argInit2 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 _glutSwapBuffers@0,该符号在函数 _argSwapBuffers 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 _glutFullScreen@0,该符号在函数 _argInit2 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 _glutDisplayFunc@4,该符号在函数 _argMainLoop 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 _glutKeyboardFunc@4,该符号在函数 _argInitLoop 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 _glutMouseFunc@4,该符号在函数 _argInitLoop 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 _glutIdleFunc@4,该符号在函数 _argInitLoop 中被引用
4>libARgsubd.lib(gsub.obj) : error LNK2019: 无法解析的外部符号 _glutGet@4,该符号在函数 _argInit2 中被引用
解决办法:
在工程属性->连接器–输入–附加依赖项 栏目里添加以下几个lib文件:
glut32.lib
Opengl32.lib
Glu32.lib
2、Error LNK2026: 模块对于 SAFESEH 映像是不安全的。
这个错误经常会出现很多。如下:
解决办法
在工程属性–链接器–命令行 中添加以下命令:
/SAFESEH:NO
最后
以上就是慈祥绿草为你收集整理的编译ARToolKit遇到的几个问题的全部内容,希望文章能够帮你解决编译ARToolKit遇到的几个问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复