[OpenGL]移植OpenGL项目遇到的问题记录

来源:互联网 发布:软件服务行业会计处理 编辑:程序博客网 时间:2024/05/18 22:54

最近在移植一个opengl的项目,是之前师兄留下的,用vs2005写的,简直不能忍啊。。。(摔.jpg),正好最近要用到相关的技术,就在上面改一下了,移植的过程中遇到三个问题,下面做个记录:

IDE: Visual Studio 2017
操作系统:windows10 专业版


问题一:无法打开gl\glut.h,gl\glaux.h,或者“auxSolidSphere”: 找不到标识符

出现问题的原因: 这个问题的出现是因为相应环境没有配置好

解决办法:下载openGL文件放到以下目录,配置好环境
下载路径一: 官方下载OpenGL文件(有一些头文件没有
http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip
下载路径二: 在CSDN上下载(我自用的,比较全
http://download.csdn.net/download/wangyijieonline/10123162

然后得到几种文件:
.dll、.lib、.h
找到目录..\VC\Tools\MSVC\14.10.25017\include\gl(没有的话就建立一个)。 将.h放到里面。
找到目录..\VC\Tools\MSVC\14.10.25017\lib\x86 将.lib放到里面。
最后把.dll放到
C:\Windows\system32文件夹内(32位系统)或‪C:\Windows\SysWOW64(64位系统)。


问题二:模块对于SAFESEH 映像是不安全的

出现问题的原因: 链接器有毒

解决办法:
https://jingyan.baidu.com/article/47a29f24334312c01423992e.html
在项目属性->链接器->命令行->“其它选项(D)”框中将 /SAFESEH:NO 加入,然后点击应用


问题三
glaux.lib(tk.obj) : error LNK2019: 无法解析的外部符号 _sscanf,该符号在函数 _GetRegistrySysColors@8 中被引用
glaux.lib(tk.obj) : error LNK2019: 无法解析的外部符号 _vsprintf,该符号在函数 _PrintMessage 中被引用

出现问题的原因: 链接器有剧毒,可能是和系统的某些函数冲突了

解决办法:
在项目属性->链接器->输入->附加依赖项中添加依赖项 legacy_stdio_definitions.lib;(注意此处的分号不能少)

原创粉丝点击