I am trying to create an OpenGL application with glew / glfw. I downloaded the binaries, put them in the root of my folder, added the paths to the include and lib directories and said that my project requires glew32.lib, GLFW.lib and opengl32.lib.
I even copied glew32.lib to the root directory because my project could not see it.
I have to store all the dependencies in the project directory, as I will distribute this. I'm at a loss.
Now when I run my program, it does not work in glewInit ()
This is my implementation:
#include "Common.h" GameEngine::GameEngine() { InitWithSize(1024, 768); InitInput(); } void GameEngine::InitWithSize(int _width, int _height) { try { // Initialise GLFW if( !glfwInit() ) throw std::exception("Failed to initialize GLFW\n"); //glfwOpenWindowHint(GLFW_FSAA_SAMPLES, 4); glfwOpenWindowHint(GLFW_OPENGL_VERSION_MAJOR, 3); glfwOpenWindowHint(GLFW_OPENGL_VERSION_MINOR, 3); glfwOpenWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); // Open a window and create its OpenGL context if( !glfwOpenWindow( _width, _height, 0,0,0,0, 32,0, GLFW_WINDOW ) ) throw std::exception("Failed to initialize GLFW\n"); glfwSetWindowTitle( "Tutorial 01" ); // Initialize GLEW if (glewInit() != GLEW_OK) throw std::exception("Failed to initialize GLEW\n"); } catch ( std::system_error const& err) { fprintf(stdout, "System Error: %s", err.what()); glfwTerminate(); // Free glfw if it has been allocated // Try Again this->InitWithSize(_width, _height); } catch( std::exception const& err) { fprintf(stdout, "Exception Found: %s", err.what()); } catch ( ... ) { fprintf(stdout,"Unknown Exception Occurred\n"); } } void GameEngine::InitInput() { // Ensure we can capture the escape key being pressed below glfwEnable( GLFW_STICKY_KEYS ); } void GameEngine::StartGameLoop() { do{ // Draw nothing, see you in tutorial 2 ! // Swap buffers glfwSwapBuffers(); } // Check if the ESC key was pressed or the window was closed while( glfwGetKey( GLFW_KEY_ESC ) != GLFW_PRESS && glfwGetWindowParam( GLFW_OPENED ) ); } void GameEngine::InitTestData() { // An array of 3 vectors which represents 3 vertices static const GLfloat g_vertex_buffer_data[] = { -1.0f, -1.0f, 0.0f, 1.0f, -1.0f, 0.0f, 0.0f, 1.0f, 0.0f, }; }
With my common heading:
#ifndef _COMMON_H #define _COMMON_H // OpenGL Libraries #define GLEW_STATIC //#pragma comment(lib, "glew32.lib") #include <GL\glew.h> #include <GL\glfw.h> // Core Libraries #include <Windows.h> #include <stdio.h> #include <stdlib.h> #include <map> #include <string> #include <fstream> // C++ 11 Libraries #include <memory> #include <exception> #include <thread> #include <chrono> // Manager Classes #include "ThreadManager.h" #include "GameEngine.h" #include "ShaderManager.h" // Lesser Classes #include "Shader.h" #endif