VS2019-写opengl时Bugs合集(持续更新)

  1. ERROR::SHADER::PROGRAM::LINKING_FAILED
    Attached vertex shader is not compiled.在这里插入图片描述
    在这里插入图片描述

    相对路径返回上一级用" . . / ../ ../",而不是" . / ./ ./"

  2. (VS)链接器是如何工作的?
    https://www.bilibili.com/video/BV1df4y1v74h?from=search&seid=12761221660389034664&spm_id_from=333.337.0.0

  3. SOIL unresolved external symbal …
    用VS使用SOIL.h库报错在这里插入图片描述解决方法:
    在SOIL信息报错的下面看到了目前所用的SOIL.h是32位的,而我的project是64位的(但是unrexolved external symbal 的报错大多其实是链接器链接文件失败,而不是文件的版本不兼容报错,并且报错的信息和文件版本不兼容报错信息相同,详细见下一点),所以把SOIL.h和SOIL.lib删掉,再下载对应的64位文件SOIL.h和SOIL.lib,
    在这里插入图片描述在这里插入图片描述
    再在属性properties中修改C/C++常规中的附加包含目录、链接器的常规中的附加库目录、链接器的输入中的附加依赖项即可(注意我这里是相对路径)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述https://stackoverflow.com/questions/30145555/soil-unresolved-external-symbols

  4. unresolved external symbal…
    如果此错误是链接器链接失败导致(即你只是将你要的第三方库文件下载并且移到你的VSproject文件夹中,同时在项目文件.sln中配置了相关属性,完成了上一点提到的三个修改操作),在生成文件(build)时报链接错误"(LINKED error) unresolved external symbal _imp_CreatDC referenced in function… "
    需要找到函数"CreatDC"所在library(
    https://docs.microsoft.com/en-us/windows/win32/api/wingdi/nf-wingdi-createdca
    这种类似的页面然后滑下去),将library填到链接器的输入中的附加依赖项中
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述

  5. VS源文件中头文件引用头文件#include <GL/glew.h>等语句报错,没有找到相关头文件(即你只是将你要的第三方库文件下载并且移到你的VSproject文件夹中,还没有在项目文件.sln中配置相关属性):需要操作三步(上文说过)

  6. VS中常常有报错"LINK : warning LNK4098: 默认库“LIBCMTD”与其他库的使用冲突;请使用 /NODEFAULTLIB:library"等warning,其实可以放着不管,先把warning解决掉再说,但是warning可能会提示很关键的错误,比如上文提到的所用库适应版本不兼容报错"SOIL.lib的版本是32位的,与64位的project不兼容"

  7. error C2664: “GLuint loadTexture(GLchar *)”: 无法将参数 1 从“const char [30]”转换为“GLchar *”
    在这里插入图片描述
    解决方法:
    改成"否"
    在这里插入图片描述
    https://blog.csdn.net/weixin_42655134/article/details/107088809?ops_request_misc=&request_id=&biz_id=102&utm_term=%E6%97%A0%E6%B3%95%E5%B0%86%E5%8F%82%E6%95%B0%201%20%E4%BB%8E%E2%80%9Cconst%20char%20%5B29%5D%E2%80%9D%E8%BD%AC%E6%8D%A2%E4%B8%BA%E2%80%9C&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-107088809.pc_search_es_clickV2&spm=1018.2226.3001.4187

  8. 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    网上的解决方法不能解决我的问题, 因为打开报错的文件,发现并没有出现文中那种将class类定义为了一个头文件的情况,所以问题应该不是在这里
    在这里插入图片描述
    解决方法:
    看看自己main函数里引用的.h头文件在哪里(我一开始是将头文件和第三方库的头文件放在了一起,所以出错了。后面我测试了下发现不能直接将自己写的头文件手动移到源程序文件夹main的相同目录下,仍会报错,猜测是因为在项目文件.sln中并没有记录好你的操作所以编译仍会出错)在这里插入图片描述
    后面在解决方案资源管理器中的头文件右键新建头文件
    在这里插入图片描述
    然后命相同名字,然后把代码复制过来即可解决问题
    https://blog.csdn.net/iteye_21202/article/details/82445716?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164035902716780271566882%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=164035902716780271566882&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~default-1-82445716.pc_search_es_clickV2&utm_term=%E7%BC%BA%E5%B0%91%E7%B1%BB%E5%9E%8B%E8%AF%B4%E6%98%8E%E7%AC%A6+-+%E5%81%87%E5%AE%9A%E4%B8%BA+int%E3%80%82%E6%B3%A8%E6%84%8F%3A+C%2B%2B+%E4%B8%8D%E6%94%AF%E6%8C%81%E9%BB%98%E8%AE%A4+int&spm=1018.2226.3001.4187

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值