c++ - 我在笔记本电脑上找不到文件夹 C :\Program Files (x86)\Microsoft Visual Studio 14. 0\VC\include\gl。我该如何添加它?

标签 c++ visual-studio opengl

这是否也意味着默认情况下未安装 opengl,因为我在安装 Visual Studio Community 2015 时确实选中了所有框。我在任何地方都找不到任何明确的答案。我应该将 glut 和 glew 头文件添加到前面提到的 gl.h 和 glu.h 应该已经存在的文件夹中。但我找不到文件夹 include\gl 本身。

最佳答案

Also does that mean opengl is not installed by default because I did check all the boxes when I installed visual studio community 2015. I couldn't find any clear answer anywhere.


您必须区分:
  • 正在安装一个功能齐全的 OpenGL 驱动程序(不幸的是,在 Windows 上默认情况下不会发生)
  • OpenGL 开发支持文件可用于您的编译器环境。

  • 就编译器环境而言,由于 OpenGL-1.1 自 Windows-NT-4 以来一直是 Windows ABI 契约(Contract)的一部分,所有面向 Windows-32 API 的编译器都必须附带所需的支持文件。
    要检查您的编译器安装是否完成,请尝试编译并执行以下小程序:
    #include <windows.h>
    #include <GL/gl.h>
    #include <stdio.h>
    
    #pragma comment(lib, "opengl32.lib")
    
    int main(int argc, char *argv[])
    {
        if( &glGetError ) {
            fprintf(stderr, "OpenGL glGetError symbol available\n");
        }
    }
    
    它实际上并没有调用 OpenGL 函数,但编译它需要链接到 opengl32.lib 并测试符号 glGetError 是否为非 NULL 以确保链接器将拉入引用。

    I'm supposed to add glut and glew header files to the aforementioned folder


    别!永远不要将任何东西手动放入编译器工具链的安装目录中。始终为头文件和库文件配置辅助目录结构,将其添加到项目的编译器包含和链接器搜索路径中。
    在那里安装 GLEW。如果您获得了将 GLEW 安装到编译器工具链目录中的说明,请忽略来自同一来源的任何其他建议,因为无论来源是谁,显然都对正确的 DevOps 毫 headless 绪。
    由于评论中的问题而更新
    在使用 3rd 方库的软件开发中是司空见惯的。您通常希望在公共(public)位置收集这些库。此类库通常由头文件、二进制文件和某些操作系统上的附加链接器 stub 组成。二进制文件是为特定的操作系统构建的,链接器 stub 是为特定的编译器制作的。
    以下是这样一个目录结构,灵感来自 *nix 操作系统组织他们的东西的方式
  • /local/include/获取所有标题
  • /local/i686-windows/bin 32 位 Windows 额外工具可执行文件
  • /local/i686-pc-linux-gnu/bin 32 位 Linux 额外工具可执行文件
  • /local/i686-windows/lib 32 位 Windows DLL
  • /local/i686-windows/libmsvc 32 位 Visual C++ 链接器 stub 和静态库
  • /local/i686-windows/libmingw 32 位 GNU MinGW 链接器 stub 和静态库
  • /local/i686-pc-linux-gnu/lib 32 位 Linux SO 和静态库
  • /local/x86_64-windows/bin 64 位 Windows 额外工具可执行文件
  • /local/x86_64-pc-linux-gnu/bin 64 位 Linux 额外工具可执行文件
  • /local/x86_64-windows/lib 64 位 Windows DLL
  • /local/x86_64-windows/libmsvc 32 位 Visual C++ 链接器 stub 和静态库
  • /local/x86_64-windows/libmingw 32 位 GNU MinGW 链接器 stub 和静态库
  • /local/x86_64-linux-gnu/lib 64 位 Linux SO 和静态库

  • 好的,所以上面的列表对于一个简单的开发环境来说可能有点过分了。但是假设你的目标是 64 位 Windows,使用 Visual C++ 编译器,那么你会创建一个目录结构
  • /local/include/
  • /local/x86_64-windows/bin
  • /local/x86_64-windows/lib
  • /local/x86_64-windows/libmsvc

  • 您将添加 GL/glut.hGL/glew.h (和其他头文件)在 /local/include 下,例如
    /local/include/GL/glxew.h
    /local/include/GL/glew.h
    /local/include/GL/glut.h
    /local/include/GL/wglew.h
    
    .lib您放入 /local/x86_64-windows/libmsvc 的文件并将 DLL 放入 /local/x86_64-windows/lib .然后在您的项目build设置中,您可以简单地添加 /local/x86_64-windows/libmsvc作为链接器搜索路径。对于 DLL,您应该添加 /local/x86_64-windows/lib到您的系统环境PATH变量,以便在执行您构建的程序时找到它们。为了部署这些程序,请在 EXE 文件旁边复制所需的 DLL。

    关于c++ - 我在笔记本电脑上找不到文件夹 C :\Program Files (x86)\Microsoft Visual Studio 14. 0\VC\include\gl。我该如何添加它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32877001/

    相关文章:

    Android NDK r10: std::string 尚未声明

    windows - 如果您使用使用 OpenGL 的库,您在 Windows PC 上需要什么?

    visual-studio - 第三方 Visual Studio 片段

    c++ - Qt应用程序界面卡住

    c++ - 为什么所有 openGL 对象都存储在 GLuints 中?

    c++ - 按键时更改 GLFWwindow 的背景

    c++ - 这可以用 C++ 中的模板来完成吗?

    c++ - 从不同地方访问类方法时类成员的位置发生变化

    iphone - 将 C++ 对象添加到 Objective-C 类

    c# - 为什么代码分析会在此方法上触发 CA2000?