kingsoon0131
kingsoon0131
2018-08-07 01:56
采纳率: 50%
浏览 1.4k
已采纳

opengl在VC2010中运行遇到的问题

在vc2010中配置了opengl的glew,glut,freeglut,gltools的库和头文件,用别人调试的代码怎么也跑不通,请问该如何解决

1> 正在对“Debug\OpenTest.unsuccessfulbuild”执行 Touch 任务。
1>ClCompile:
1> 所有输出均为最新。
1>ManifestResourceCompile:
1> 所有输出均为最新。
1>MSVCRT.lib(MSVCR100.dll) : error LNK2005: fprintf 已经在 gltools.lib(GLTools.obj) 中定义
1> 正在创建库 C:\Users\Administrator\Desktop\OpenTest\Debug\OpenTest.lib 和对象 C:\Users\Administrator\Desktop\OpenTest\Debug\OpenTest.exp
1>LINK : warning LNK4098: 默认库“MSVCRTD”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
1>gltools.lib(GLBatch.obj) : error LNK2019: 无法解析的外部符号 "void __cdecl operator delete(void *,unsigned int)" (??3@YAXPAXI@Z),该符号在函数 "public: virtual void * __thiscall GLBatch::`scalar deleting destructor'(unsigned int)" (??_GGLBatch@@UAEPAXI@Z) 中被引用
1>gltools.lib(GLTriangleBatch.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl operator delete(void *,unsigned int)" (??3@YAXPAXI@Z)
1>gltools.lib(GLTools.obj) : error LNK2019: 无法解析的外部符号 _
_report_rangecheckfailure,该符号在函数 "bool cdecl gltLoadShaderFile(char const *,unsigned int)" (?gltLoadShaderFile@@YA_NPBDI@Z) 中被引用
1>gltools.lib(glew.obj) : error LNK2001: 无法解析的外部符号 ___report_rangecheckfailure
1>gltools.lib(GLTools.obj) : error LNK2019: 无法解析的外部符号 __imp
__acrt_iob_func,该符号在函数 "bool cdecl gltCheckErrors(unsigned int)" (?gltCheckErrors@@YA_NI@Z) 中被引用
1>gltools.lib(GLTools.obj) : error LNK2019: 无法解析的外部符号 __imp
__stdio_common_vfprintf,该符号在函数 __vfprintf_l 中被引用
1>C:\Users\Administrator\Desktop\OpenTest\Debug\OpenTest.exe : fatal error LNK1120: 4 个无法解析的外部命令
1>
1>生成失败。
1>
1>已用时间 00:00:05.07
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • phenix2009
    白色一大坨 2018-08-07 02:00
    已采纳

    这个应该是库没配置好,我想是不是因为别人电脑的头文件和库路径与你电脑的不同导致的,你应该检查一下库配置方面是否存在问题。

    点赞 评论
  • xxxlman
    +竹喧 2018-08-07 08:29

    请仔细看这些信息
    1>MSVCRT.lib(MSVCR100.dll) : error LNK2005: fprintf 已经在 gltools.lib(GLTools.obj) 中定义
    1> 正在创建库 C:\Users\Administrator\Desktop\OpenTest\Debug\OpenTest.lib 和对象 C:\Users\Administrator\Desktop\OpenTest\Debug\OpenTest.exp
    1>LINK : warning LNK4098: 默认库“MSVCRTD”与其他库的使用冲突;请使用 /NODEFAULTLIB:library

    原因:
    glt.lib使用的是MSVCRT.lib,这不是调试库
    你的工程使用的MSVCRTD,这是调试库。你的工程使用了glt.lib,然后你的工程和glt.lib依赖的运行时库不一致

    解决方法:
    修改你的工程配置,把运行库改成MD试试

    点赞 评论

相关推荐