• 《OpenGL编程指南第七版》学习——编译时提示“error C2381: “exit” : 重定义;__declspec(noreturn) 不同”错误的解决办法


    解决办法
    一、

    #if defined(_WIN32)

    # ifndef GLUT_BUILDING_LIB
    extern _CRTIMP void __cdecl exit(int);


    上面是glut.h中对exit的使用,意思是如果没有定义宏‍GLUT_BUILDING_LIB,就使用它的exit,那我们就在项目的属性——预处理器 里定义这个宏,这样就不执行glut.h中的exit了,而只执行stdlib.h中的exit。这样也就不会冲突了。对了,还要在附加依赖项里手动加上‍glut32.lib glu32.lib opengl32.lib,因为我们定义了‍宏‍GLUT_BUILDING_LIB,glut.h文件就不会为我们自动生成这三个附加依赖项了。

    二、


    stdlib.h(406)   :   error   C2381:   “exit”:   重定义;__declspec(noreturn)   不同   
      glut.h(146)   :   参见“exit”的声明  

    解决方法:#include <GL/glut.h>
                        #include <stdlib.h>
    改成:
                        #include <stdlib.h>
                        #include <GL/glut.h>
    通过。

    OpenGL和C++有不太融合的地方,在include时要让标准C++类库的头文件位于GLUT图形库头文件之前。

  • 相关阅读:
    抓老鼠啊~亏了还是赚了?
    币值转换
    打印沙漏
    秋季学期学习总结
    PTA币值转化
    PTA作业
    秋季学习总结
    人生最重要的3个老师
    自我介绍
    vue入门(二) 让axios发送表单形式数据
  • 原文地址:https://www.cnblogs.com/rainbow70626/p/8449039.html
Copyright © 2020-2023  润新知