Tengo un problema al compilar este ejemplo en Ubuntu 12.04 LTS:

#include <stdio.h>
#include <stdlib.h>
#include <GL/glew.h>
#include <GL/glfw3.h>
#include <glm/glm.hpp>

using namespace glm;

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

glfwWindowHint(GLFW_FSAA_SAMPLES, 4); //4x antialiasing
glfwWindowHint(GLFW_OPENGL_VERSION_MAJOR, 3); //We want OpenGL 3.3
glfwWindowHint(GLFW_OPENGL_VERSION_MINOR, 3);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); //We don't want the old OpenGL

//Open a window and create its OpenGL context
GLFWwindow* window; //(In the accompanying source code, this variable is global)
window = glfwCreateWindow( 1024, 768, "Tutorial 01", NULL, NULL);
if( window == NULL ){
    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;
}
glfwMakeContextCurrent(window);

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

glfwSetInputMode(window, GLFW_STICKY_KEYS, GL_TRUE);

do{
    //Draw nothing, see you in tutorial 2 !

    //Swap buffers
    glfwSwapBuffers(window);
    glfwPollEvents();

} //Check if the ESC key was pressed or the window was closed
while( glfwGetKey(window, GLFW_KEY_ESCAPE ) != GLFW_PRESS &&
glfwWindowShouldClose(window) == 0 );

return 0;
}

Traté de compilar usando una sola línea en la terminal con los indicadores apropiados, pero siempre encontrar errores. En varios foros he encontrado que es mejor usar cmake para encontrar, enlace y compilar el uso de las bibliotecas necesito, por lo que el uso de este ejemplo he intentado programar mi propio cmake listas, la obtención de este código:

cmake_minimum_required(VERSION 2.8)


#Encontrando y linkeando GLEW
find_package(GLEW REQUIRED)
include_directories(${GLEW_INCLUDE_DIRS})
link_directories(${GLEW_LIBRARY_DIRS})
add_definitions(${GLEW_DEFINITIONS})
if(NOT GLEW_FOUND)
 message(Error " GLEW not found")
endif(NOT GLEW_FOUND)

#Encontrando y linkeando glfw3
find_package(GLFW REQUIRED)
include_directories(${GLFW_INCLUDE_DIRS})
link_directories(${GLFW_LIBRARY_DIRS})
add_definitions(${GLFW_DEFINITIONS})

if(NOT GLFW_FOUND)
        message(Error "GLFW not found")
endif(NOT GLFW_FOUND)

#Encontrando y linkeando glm

find_package(GLM REQUIRED)
include_directories(${GLM_INCLUDE_DIRS})
link_directories(${GLM_LIBRARY_DIRS})
add_definitions(${GLM_DEFINITIONS})

if(NOT GLM_FOUND)
        message(Error "GLM not found")
endif(NOT GLM_FOUND)

find_package(OpenGL REQUIRED)
include_directories(${OpenGL_INCLUDE_DIRS})
link_directories(${OpenGL_LIBRARY_DIRS})
add_definitions(${OpenGL_DEFINITIONS})

if(NOT OpenGL_FOUND)
        message(Error "OpenGL not found")
endif(NOT OpenGL_FOUND)

#Incluir archivos

add_executable(abrir main.cpp)

target_link_libraries(abrir ${OPENGL_LIBRARIES} ${GLEW_LIBRARIES} ${GLFW_LIBRARIES} ${GLM_LIBRARIES})

Pero me da estos errores:

Could not find module FindGLEW.cmake or a configuration file for package GLEW.

Adjust CMAKE_MODULE_PATH to find FindGLEW.cmake or set GLEW_DIR to the
directory containing a CMake configuration file for GLEW.  The file will
have one of the following names:

GLEWConfig.cmake
glew-config.cmake



Error GLEW not found
CMake Error at CMakeLists.txt:14 (find_package):
Could not find module FindGLFW.cmake or a configuration file for package
GLFW.

Adjust CMAKE_MODULE_PATH to find FindGLFW.cmake or set GLFW_DIR to the
directory containing a CMake configuration file for GLFW.  The file will
have one of the following names:

GLFWConfig.cmake
glfw-config.cmake



ErrorGLFW not found
CMake Error at CMakeLists.txt:25 (find_package):
Could not find module FindGLM.cmake or a configuration file for package
GLM.

Adjust CMAKE_MODULE_PATH to find FindGLM.cmake or set GLM_DIR to the
directory containing a CMake configuration file for GLM.  The file will
have one of the following names:

GLMConfig.cmake
glm-config.cmake

¿Cómo puedo solucionar estos errores? O es que hay una manera más fácil para resolver el problema?

  • Se intenta… en busca de glew-config.cmake/glfw-config.cmake etc y configuración de CMAKE_MODULE_PATH en consecuencia antes de la ejecución de cmake?
InformationsquelleAutor user3403875 | 2014-03-10

2 Comentarios

  1. 2

    Sé que esto es un «poco» tarde. Pero si alguien se ha topado con este problema. Esto es lo que hice.

    He copiado este archivo https://github.com/Groovounet/glm-deprecated/blob/master/util/FindGLM.cmake en mi equipo me.e /home/usuario/Libs/cmake/FindGLM.cmake

    Luego he añadido esta línea para mi CMakeLists.txt:

    set(CMAKE_MODULE_PATH /home/user/Libs/cmake)

    Así que mis 3 primeras líneas de mi archivo:

    cmake_minimum_required (VERSION 2.6)
    project (test)
    set(CMAKE_MODULE_PATH /home/user/Libs/cmake)

    A continuación, ejecutar cmake y hacer y yo no tenía errores.

    • Muy portable…
    • Esto funciona para los que están tratando de compilar el Arrayfire biblioteca y recepción de glm CMake errores
  2. 0

    Os recomiendo el uso de Qt Creator para este tutorial. Al menos, yo lo hice de esa manera. Siempre es mejor usar un IDE para esas cosas. Recuerdo que tuve que reescribir algunas partes de la CMakeLists de archivo con el fin de construir correctamente a mi entorno (yo no quería usar AntTweakBar, por ejemplo).

    El Qt Creator instrucciones proporcionadas por el tutorial está muy bueno y se debe trabajar para usted.

    Recuerda, además, a instalar todos los paquetes mencionados en el tutorial que está usando, incluyendo CMake. Si recuerdo bien, que debería funcionar bien 🙂

Dejar respuesta

Please enter your comment!
Please enter your name here