Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: yoxter en 1 Octubre 2012, 03:40 AM

Título: error compilando con glfw
Publicado por: yoxter en 1 Octubre 2012, 03:40 AM
Saludos estaba empesando con opengl y tengo probelmas para compilar el primer ejemplo.  :-[

codigo que estoy usando
// Include standard headers
#include <stdio.h>
#include <stdlib.h>

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

// Include GLFW
#include <GL/glfw.h>

// Include GLM
#include <glm/glm.hpp>
using namespace glm;

int main( void )
{
// Initialise GLFW
if( !glfwInit() )
{
fprintf( stderr, "Failed to initialize GLFW\n" );
return -1;
}

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( 1024, 768, 0,0,0,0, 32,0, GLFW_WINDOW ) )
{
fprintf( stderr, "Failed to open GLFW window. If you have an Intel GPU, they are not 3.3 compatible. Try the 2.1 version of the tutorials.\n" );
glfwTerminate();
return -1;
}

// Initialize GLEW
if (glewInit() != GLEW_OK) {
fprintf(stderr, "Failed to initialize GLEW\n");
return -1;
}

glfwSetWindowTitle( "Tutorial 01" );

// Ensure we can capture the escape key being pressed below
glfwEnable( GLFW_STICKY_KEYS );

// Dark blue background
glClearColor(0.0f, 0.0f, 0.3f, 0.0f);

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 ) );

// Close OpenGL window and terminate GLFW
glfwTerminate();

return 0;
}



g++ 1.cpp -I/usr/include -L/usr/lib -L/usr/lib64 -LGL -Lglew -Lglfw -Lglut
1.cpp: In function 'int main()':
1.cpp:25:21: error: 'GLFW_OPENGL_VERSION_MAJOR' was not declared in this scope
1.cpp:26:21: error: 'GLFW_OPENGL_VERSION_MINOR' was not declared in this scope
1.cpp:27:21: error: 'GLFW_OPENGL_PROFILE' was not declared in this scope
1.cpp:27:42: error: 'GLFW_OPENGL_CORE_PROFILE' was not declared in this scope



Código (bash) [Seleccionar]
clang++ 1.cpp -I/usr/include -L/usr/lib -L/usr/lib64 -LGL -Lglew -Lglfw -Lglut
1.cpp:25:21: error: use of undeclared identifier 'GLFW_OPENGL_VERSION_MAJOR'
        glfwOpenWindowHint(GLFW_OPENGL_VERSION_MAJOR, 3);
                           ^
1.cpp:26:21: error: use of undeclared identifier 'GLFW_OPENGL_VERSION_MINOR'
        glfwOpenWindowHint(GLFW_OPENGL_VERSION_MINOR, 3);
                           ^
1.cpp:27:21: error: use of undeclared identifier 'GLFW_OPENGL_PROFILE'
        glfwOpenWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
                           ^
3 errors generated.



si pudieran ayudarme estaria agredecido.
estoy seguro de que glfw esta instalado, estoy usando gentoo.
Título: Re: error compilando con glfw
Publicado por: 0xDani en 1 Octubre 2012, 16:24 PM
No conozco el clang, pero en los parametros de linkaje en gcc/g++ se pondria:
-lGL -lglew -lglfw -lglut
en vez de:
-LGL -Lglew -Lglfw -Lglut

Saludos.
Título: Re: error compilando con glfw
Publicado por: yoxter en 1 Octubre 2012, 19:31 PM
Cita de: 0xDani en  1 Octubre 2012, 16:24 PM
No conozco el clang, pero en los parametros de linkaje en gcc/g++ se pondria:
-lGL -lglew -lglfw -lglut
en vez de:
-LGL -Lglew -Lglfw -Lglut

Saludos.

Gracias por la respuesta al final el problema fue mi version de glfw tenia la 2.6 y solo en la 2.7 se incluyo GLFW_OPENGL_VERSION_MAJOR y GLFW_OPENGL_PROFILE, removi la version 2.6 he instale la 2.7 manualmente el camando quedo a si :

Código (bash) [Seleccionar]
g++  1.cpp -o 1 -I/usr/include -L/usr/lib64 -lGL -lGLEW -lglfw