C++ 我无法让GLEW在ubuntu 20.04(C+;+;)中使用netbeans

C++ 我无法让GLEW在ubuntu 20.04(C+;+;)中使用netbeans,c++,glew,opengl-3,C++,Glew,Opengl 3,我设法让GLFW3工作并正确显示一个窗口,但是当我将glewInit()添加到我的项目时,它告诉我对glewInit的未定义引用“。我使用g++作为编译器,并将-lglfw3和lGl作为标志。下面是一个简单的项目来演示我的问题。我在linux上。任何帮助都是非常感谢的 #include <GL/glew.h> #include <GL/gl.h> #include <GLFW/glfw3.h> #include <iostream> // se

我设法让GLFW3工作并正确显示一个窗口,但是当我将
glewInit()
添加到我的项目时,它告诉我
对glewInit的未定义引用“
。我使用g++作为编译器,并将
-lglfw3
lGl
作为标志。下面是一个简单的项目来演示我的问题。我在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;
}

#包括
#包括
#包括
#包括
//背景
常量无符号整数SCR_WIDTH=800;
常数无符号整数SCR_高度=600;
int main()
{
//glfw:初始化和配置
// ------------------------------
glfwInit();
glfwWindowHint(GLFW_上下文_版本_专业,3);
glfwWindowHint(GLFW_上下文_版本_小调,3);
glfwWindowHint(GLFW_OPENGL_配置文件、GLFW_OPENGL_核心配置文件);
//glfw窗口创建
GLFWwindow*window=glfwCreateWindow(SCR_宽度,SCR_高度,“LearnOpenGL”,NULL,NULL);
如果(窗口==NULL)
{

std::cout在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
中。

在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