Olá boa tarde. Não sei se o lugar certo para isso mas vamos lá XD.
Estou seguindo um tutorial sobre OpenGL moderno e estou travado num ponto. Preciso da biblioteca GLEW para criar VBO´s e VAO´s só que não consigo inicia-lá no meu projeto. Uso a IDE (pouco conhecida) Falcon C++ pois acostumei com ela e também é muito fácil instalar bibliotecas. No site da Falcon C++ tém já o link para instalar a GLEW (é só apertar um botão que a IDE tudo faz sozinho >.<) foi assim com a GLFW e deu certo. O problema é a GLEW. Meu código agora é:
//loop principal
while(!glfwWindowShouldClose(window))
{
//sair
processInput(window);
//propriedades da janela
glfwPollEvents();
glClearColor(0.0f, 0.0f, 1.0f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT);
glfwSwapBuffers(window);
};
//encerra glfw
glfwTerminate();
return 0;
};
linkers:
-lglew32
-lglfw3
-lopengl32
Mas quando eu tendo rodar o código aparece a seguinte mensagem de erro:
undefined reference to '__imp_ glewinit@0'
Estou a 2 dias procurando no Google mas tem muita coisa desatualizada e outras que eu não entendo. Um fato que me chamou muito atenção foi a resposta desse cara:
Pergunta
Guilherme31415
Olá boa tarde. Não sei se o lugar certo para isso mas vamos lá XD.
Estou seguindo um tutorial sobre OpenGL moderno e estou travado num ponto. Preciso da biblioteca GLEW para criar VBO´s e VAO´s só que não consigo inicia-lá no meu projeto. Uso a IDE (pouco conhecida) Falcon C++ pois acostumei com ela e também é muito fácil instalar bibliotecas. No site da Falcon C++ tém já o link para instalar a GLEW (é só apertar um botão que a IDE tudo faz sozinho >.<) foi assim com a GLFW e deu certo. O problema é a GLEW. Meu código agora é:
#include <iostream>
#include <GL/glew.h>
#include <GLFW/glfw3.h>
using namespace std;
void processInput(GLFWwindow *window)
{
if(glfwGetKey(window, GLFW_KEY_ESCAPE) == GLFW_PRESS)
{
glfwSetWindowShouldClose(window, true);
};
};
int main(void)
{
//largura e altura da janela
GLuint largura = 400;
GLuint altura = 400;
//inica o glfw
glfwInit();
//retorna eventual erro no glfw
if(!glfwInit())
{
cout << "Deu erro no glfw.";
return 1;
};
//criar a janela
GLFWwindow *window = glfwCreateWindow(largura, altura, "Teste", NULL, NULL);
//retorna eventual erro na janela
if(window == NULL)
{
cout << "Deu erro na janela.";
glfwTerminate();
return 1;
};
//cria contexto opengl
glfwMakeContextCurrent(window);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
//inicia o glew
glewExperimental = true;
//retorna eventual erro no glew
if(glewInit() != GLEW_OK)
{
glfwDestroyWindow(window);
glfwTerminate();
return 1;
};
//loop principal
while(!glfwWindowShouldClose(window))
{
//sair
processInput(window);
//propriedades da janela
glfwPollEvents();
glClearColor(0.0f, 0.0f, 1.0f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT);
glfwSwapBuffers(window);
};
//encerra glfw
glfwTerminate();
return 0;
};
linkers:
-lglew32
-lglfw3
-lopengl32
Mas quando eu tendo rodar o código aparece a seguinte mensagem de erro:
undefined reference to '__imp_ glewinit@0'
Estou a 2 dias procurando no Google mas tem muita coisa desatualizada e outras que eu não entendo. Um fato que me chamou muito atenção foi a resposta desse cara:
https://stackoverflow.com/questions/11710677/undefined-reference-to-imp-glewinit0
mas eu n sei fazer isso que ele sugere. Como adicionaria o glew.c? Faz sentido isso?
Alguém poderia me ajudar ou me indicar algum material que poderia me auxiliar nisso? Obrigado! >.<
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.