3 Star 14 Fork 0

speauty / ChernoOpenGL

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

Cherno 系列教程代码项目仓库

当前环境

  • 主机

    版本	Windows 10 专业版
    版本号	20H2
    安装日期	2021-05-12
    操作系统内部版本	19042.1415
    体验	Windows Feature Experience Pack 120.2212.3920.0
    
  • IDE

    Microsoft Visual Studio Community 2022 (64 位) 版本 17.0.4

P2. 在VS中创建项目, 配置GLFW和OpenGL

  • 配置 GLFW

    下载转送门

    /**
     * 设置附加包含目录
     * 项目 => OpenGL属性 => C\C++ => 常规 => 附加包含目录
     * 添加: $(SolutionDir)Dependencies\GLFW\include
     * 设置附加库目录
     * 项目 => OpenGL属性 => 链接器 => 常规 => 附加库目录
     * 添加: $(SolutionDir)Dependencies\GLFW\lib-vc2022
     * 设置附加依赖项
     * 项目 => OpenGL属性 => 链接器 => 输入 => 附加依赖项
     * 添加: glfw3.lib
     ** /
  • 处理错误

    • Application.obj : error LNK2019: 无法解析的外部符号 __imp__glClear@4,函数 _main 中引用了该符号

      /**
       * 补充附加依赖项(opengl32.lib)
       * 项目 => OpenGL属性 => 链接器 => 输入 => 附加依赖项
       * 添加: opengl32.lib
       **/
    • glfw3.lib(win32_init.obj) : error LNK2019: 无法解析的外部符号 __imp__RegisterDeviceNotificationW@12,函数 __glfwPlatformInit 中引用了该符号

      /**
       * 补充附加依赖项(user32.lib)
       * 项目 => OpenGL属性 => 链接器 => 输入 => 附加依赖项
       * 添加: user32.lib
       **/
    • glfw3.lib(win32_monitor.obj) : error LNK2019: 无法解析的外部符号 __imp__CreateDCW@16,函数 __glfwPlatformGetGammaRamp 中引用了该符号

      /**
       * 补充附加依赖项(gdi32.lib)
       * 项目 => OpenGL属性 => 链接器 => 输入 => 附加依赖项
       * 添加: gdi32.lib
       **/
    • glfw3.lib(win32_window.obj) : error LNK2019: 无法解析的外部符号 __imp__DragQueryFileW@16,函数 _windowProc@16 中引用了该符号

      /**
       * 补充附加依赖项(shell32.lib)
       * 项目 => OpenGL属性 => 链接器 => 输入 => 附加依赖项
       * 添加: shell32.lib
       **/
    • LINK : warning LNK4098: 默认库“MSVCRT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library

      /**
       * 忽略特定默认库(msvcrt.lib)
       * 项目 => OpenGL属性 => 链接器 => 输入 => 忽略特定默认库
       * 添加: msvcrt.lib
       **/
  • 当前附加依赖库 glfw3.lib;opengl32.lib;user32.lib;gdi32.lib;shell32.lib

P3. 配置GLEW

下载传送门

  /**
   * 设置附加包含目录
   * 项目 => OpenGL属性 => C\C++ => 常规 => 附加包含目录
   * 添加: $(SolutionDir)Dependencies\GLEW\include
   * 设置附加库目录
   * 项目 => OpenGL属性 => 链接器 => 常规 => 附加库目录
   * 添加: $(SolutionDir)Dependencies\GLEW\lib\Release\Win32
   * 设置附加依赖项
   * 项目 => OpenGL属性 => 链接器 => 输入 => 附加依赖项
   * 添加: glew32s.lib
   *
   * 设置预处理器定义
   * 项目 => OpenGL属性 => C\C++ => 预处理器 => 预处理器定义
   * 添加: GLEW_STATIC
   ** /
  • 错误处理

    • fatal error C1189: #error: gl.h included before glew.h

      /**
       * 交换glew.h和glfw3.h的包含顺序
       **/
    • Application.obj : error LNK2019: 无法解析的外部符号 __imp__glewInit@0,函数 _main 中引用了该符号

      /**
       * 添加预处理器定义
       * 项目 => OpenGL属性 => C\C++ => 预处理器 => 预处理器定义
       * 添加: GLEW_STATIC
       **/
    • LINK : warning LNK4098: 默认库“LIBCMT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library

      /**
       * 忽略特定默认库(libcmt.lib)
       * 项目 => OpenGL属性 => 链接器 => 输入 => 忽略特定默认库
       * 添加: libcmt.lib
       **/
    • glew32s.lib(glew.obj) : warning LNK4099: 未找到 PDB“vc120.pdb”(使用glew32s.lib(glew.obj)

      /**
       * 关闭生成调试信息
       * 项目 => OpenGL属性 => 链接器 => 调试 => 生成调试信息(否, 默认值: 生成调试信息 (/DEBUG))
       **/
  • 切换NIVDIA显卡

    /**
     * NVIDIA控制面板 => 管理3D设置 => 程序设置 => 添加(选择VS)
     * NVIDIA控制面板 => 管理3D设置 => 全局设置 => 首先图形处理器(选择高性能NVIDIA处理器)
     * glGetString(GL_VERSION)输出: 4.6.0 NVIDIA 471.41
     * 默认显卡(Inter)时输出: 4.6.0 - Build 26.20.100.8141
     *
     * 可在 计算机 => 属性 => 设备管理器 => 显示适配器 查看当前支持的显卡
     **/

空文件

简介

Cherno's OpenGL 源码合集 展开 收起
C++ 等 2 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C++
1
https://gitee.com/speauty/ChernoOpenGL.git
git@gitee.com:speauty/ChernoOpenGL.git
speauty
ChernoOpenGL
ChernoOpenGL
master

搜索帮助