【问题标题】:I cant get GLEW to work on netbeans in ubuntu 20.04 (C++)我无法让 GLEW 在 ubuntu 20.04 (C++) 中处理 netbeans
【发布时间】:2020-10-31 17:46:22
【问题描述】:

我设法让 GLFW3 工作并正确显示一个窗口,但是当我将 glewInit() 添加到我的项目时,它告诉我 undefined reference to glewInit'。我使用 g++ 作为我的编译器,-lglfw3lGl 作为标志。下面是一个简单的项目来演示我的问题。我在linux上。非常感谢任何帮助。

#include <GL/glew.h>
#include <GL/gl.h>
#include <GLFW/glfw3.h>

#include <iostream>

// settings
const unsigned int SCR_WIDTH = 800;
const unsigned int SCR_HEIGHT = 600;

int main()
{
    // glfw: initialize and configure
    // ------------------------------
    glfwInit();
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

    // glfw window creation
  
    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);
    
    // here is the error, my glew is not intializing :(
    if(glewInit() != GLEW_OK) {
        return 0;
    }
    
    // render loop
   
    while (!glfwWindowShouldClose(window))
    {

        // render

        glClearColor(0.2f, 0.3f, 0.3f, 1.0f);
        glClear(GL_COLOR_BUFFER_BIT);

        // glfw: swap buffers and poll IO events (keys pressed/released, mouse moved etc.)
 
        glfwSwapBuffers(window);
        glfwPollEvents();
    }

    // glfw: terminate, clearing all previously allocated GLFW resources.
   
    glfwTerminate();
    return 0;
}

【问题讨论】:

    标签: c++ glew opengl-3


    【解决方案1】:

    在 Linux 上有一种标准方法可以获取一组正确的库以与您的程序链接 - 请查看 man pkg-config。在您的情况下,您需要链接 GLFW3 和 GLEW 所需的所有内容 - 所以您应该调用 pkg-config 两次:

    hekto@ubuntu:~$ pkg-config --libs glfw3
    -lglfw
    hekto@ubuntu:~$ pkg-config --libs glew
    -lGLEW -lGLU -lGL
    

    因此,您需要使用-lglfw 而不是-lglfw3 并添加另外两个库--lGLEW-lGLU。这些对pkg-config 工具的调用也可以直接添加到您的Makefile

    【讨论】:

      猜你喜欢
      • 2022-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-10
      • 2021-05-02
      • 2022-09-29
      • 2021-04-25
      • 2021-12-07
      相关资源
      最近更新 更多