Comment puis-je résoudre " glew32.dll est absent de votre ordinateur de mon programme OpenGL?

Quand je suis en train de construire et de gérer mon OpenGL+GLEW+GLFW programme, elle construit très bien, mais l'habitude de l'exécuter, ce qui me donne cette erreur : "The program can't start because glew32.dll is missing from your computer. Try reinstalling the program to fix this problem."

Je suis un lien glew32.lib comme une bibliothèque statique. Je suis également en utilisant #define GLEW_STATIC.

Alors, pourquoi le programme à l'aide d'un fichier DLL?

#include <iostream>

//#define GLEW_STATIC

//GLEW
#include <include/GL/glew.h>

//GLFW
#include <include/GLFW/glfw3.h>

//we define GLEW_STATIC, since we’re using the static version of the GLEW library.
#define GLEW_STATIC


//Is called whenever a key is pressed/released via GLFW
void key_callback(GLFWwindow* window, int key, int scancode, int action, int mode)
{
    std::cout << key << std::endl;

    if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS)
    {
        //we close GLFW by setting its WindowShouldClose 
        //property to true.
        glfwSetWindowShouldClose(window, GL_TRUE);
    }
}

//Window dimensions
const GLuint WIDTH = 800, HEIGHT = 600;

//The MAIN function, from here we start the application and run the game loop
int main()
{
    std::cout << "Starting GLFW context, OpenGL 3.3" << std::endl;
    //Initializes GLFW
    glfwInit();
    //Set all the required options for GLFW
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
    glfwWindowHint(GLFW_RESIZABLE, GL_FALSE);

    //Create a GLFWwindow object that we can use for GLFW's functions
    GLFWwindow * window = glfwCreateWindow(WIDTH, HEIGHT, "LearnOpenGL", nullptr, nullptr);
    glfwMakeContextCurrent(window);
    if (window == NULL)
    {
        std::cout << "Failed to create GLFW window" << std::endl;
        glfwTerminate();
        return -1;
    }

    //Set the required callback functions
    glfwSetKeyCallback(window, key_callback);

    //Set this to true so GLEW knows to use a modern approach to retrieving function pointers and extensions
    glewExperimental = GL_TRUE;
    //Initialize GLEW to setup the OpenGL Function pointers
    if (glewInit() != GLEW_OK)
    {
        std::cout << "Failed to initialize GLEW" << std::endl;
        return -1;
    }    

    //Define the viewport dimensions
    glViewport(0, 0, WIDTH, HEIGHT);

    //Game loop
    while (!glfwWindowShouldClose(window))
    {
        //Check if any events have been activiated (key pressed, mouse moved etc.) and call corresponding response functions
        glfwPollEvents();

        //Render
        //Clear the colorbuffer
        glClearColor(0.2f, 0.3f, 0.3f, 1.0f);
        glClear(GL_COLOR_BUFFER_BIT);

        //Swap the screen buffers
        glfwSwapBuffers(window);
    }

    //Terminate GLFW, clearing any resources allocated by GLFW.
    glfwTerminate();
    return 0;
}
#définition de GLEW_STATIC après,#, y compris glew.h n'aurez pas aucun effet. Il n'ont de sens à l'intérieur de ce fichier.

OriginalL'auteur Johannes Eriksson Wallin | 2014-03-10