首页 > 解决方案 > 为什么它无法识别包含文件和文件夹

问题描述

每次我尝试编译它来测试它都不会识别文件

#include <GL\glew.h>
#include <GLFW/glfw3.h>

#ifdef _WIN32
#pragma 注释(lib,“winmm.lib”)
#endif // _WIN32

诠释主要(无效)
{
    GLFWwindow* 窗口;

    /* 初始化库 */
    如果(!glfwInit())
        返回-1;

    /* 创建一个窗口模式窗口及其 OpenGL 上下文 */
    window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);

    如果(!窗口)
    {
        glfw终止();
        返回-1;
    }

    /* 使窗口的上下文成为当前的 */
    glfwMakeContextCurrent(窗口);
    如果(!glewInit())
      返回-1;

    /* 循环直到用户关闭窗口 */
    而(!glfwWindowShouldClose(窗口))
    {
        /* 在这里渲染 */
        glClear(GL_COLOR_BUFFER_BIT);

        /* 交换前后缓冲区 */
        glfwSwapBuffers(窗口);

        /* 轮询和处理事件 */
        glfwPollEvents();
    }

    glfw终止();
    返回0;
}

标签: c++visual-studio-code

解决方案


当您使用编译器时,您需要告诉它要查找包含的文件的目录。在行

#include <GL\glew.h>
#include <GLFW/glfw3.h>

这是告诉编译器包含文件glew.hglfw3.h. 问题是编译器应该如何知道这些文件在哪里(它不会在整个驱动器中搜索它们。c++ 编译器有办法告诉它这些文件的相对位置。

在 gcc/g++ 中,您使用-I标志并指定此目录的位置。

使用该选项指定您存储的文件夹gl\glew.hglfw\glfw3.hgcc 。-I如果您的文件存储在C:\Users\John\Projects\dependencies\GLFW\include\glew\glew.h然后C:\Users\John\Projects\dependencies\Glew\include\glfw\glfw3.h 使用这样的标志

gcc -IC:\Users\John\Projects\dependencies\GLFW\include
    -IC:\Users\John\Projects\dependencies\Glew\include main.c -o out_file

推荐阅读