Witam, ostatnio zacząłem się interesować OpenGL. Problem polega na tym, że nie mogę stworzyć nawet okna, dodając GLAD (ponieważ prawdopodobnie przez to wyrzuca mi błędy).
Jest to jedna z pierwszych lekcji, tym bardziej zależy mi, żeby przejść dalej.
Kod z lekcji:
#include <glad/glad.h>
#include <GLFW/glfw3.h>
#include <iostream>
void framebuffer_size_callback(GLFWwindow* window, int width, int height);
void processInput(GLFWwindow *window); // settings
const unsigned int SCR_WIDTH = 800;
const unsigned int SCR_HEIGHT = 600;
int main()
{
glfwInit( );
glfwWindowHint( GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint( GLFW_CONTEXT_VERSION_MINOR, 3);
glfwWindowHint( GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
GLFWwindow* window = glfwCreateWindow( SCR_WIDTH, SCR_HEIGHT, "LearnOpenGL", NULL, NULL);
if (window == NULL)
{
std::cout << "Failed to create GLFW window" << std::endl;
glfwTerminate( );
return -1;
}
glfwMakeContextCurrent( window);
glfwSetFramebufferSizeCallback(window, framebuffer_size_callback);
if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress))
{
std::cout << "Failed to initialize GLAD" << std::endl;
return -1;
}
while ( !glfwWindowShouldClose( window))
{
glClearColor( 0.2f, 0.3f, 0.3f, 1.0f);
glClear( GL_COLOR_BUFFER_BIT);
glfwSwapBuffers( window);
glfwPollEvents( );
}
glfwTerminate( );
return 0; }
void processInput(GLFWwindow *window)
{
if(glfwGetKey(window, GLFW_KEY_ESCAPE) == GLFW_PRESS) glfwSetWindowShouldClose(window, true);
}
void framebuffer_size_callback(GLFWwindow* window, int width, int height)
{
glViewport( 0, 0, width, height);
}
Błędy:
- main.cpp|32|undefined reference to `gladLoadGLLoader'|
- main.cpp|41|undefined reference to `glad_glClearColor'|
- main.cpp|42|undefined reference to `glad_glClear'|
- obj\Debug\main.o||In function `Z25framebuffer_size_callbackP10GLFWwindowii':|
- main.cpp|59|undefined reference to `glad_glViewport'|
Zakładam, że problemem jest zła instalacja GLAD do CodeBlocks, ale jeżeli tak, to byłbym wdzięczny za nakierowanie na zrobienie tego prawidłowo.
Przepraszam, jeżeli piszę w złym dziale.