在Ubuntu上使用GLFW设置OpenGL NetBeans项目

时间:2013-01-09 14:52:44

标签: c++ opengl ubuntu netbeans

我正在尝试在Ubuntu上设置OpenGL开发环境。我安装了包括GLFW在内的所有库,因为我不想使用GLUT.GLEW lib也已安装。我试图在NetBeans中设置它。我有从来没有使用它,目前我得到了:

运行这个简单代码时,

未明确引用`glfwInit'错误:

#include <stdio.h>
#include <cstdlib>
#include <iostream>
#include <GL/glew.h>
#include <GL/glfw.h>
#include "glm.hpp"
using namespace std;
using namespace glm;

int main(int argc, char** argv) {


 /*      init GLFW         */
    if(!glfwInit()){

        fprintf(stderr,"failed to init GLFW");

     }
    return 0;
}

我确定这是与链接器相关的问题。所以我将libglfw.a添加到Linker-&gt; Libraries,然后得到更多这样的错误:

make [2]:输入目录/home/sasmaster/NetBeansProjects/OpenGLDemo' mkdir -p dist/Debug/GNU-Linux-x86 g++ -o dist/Debug/GNU-Linux-x86/opengldemo build/Debug/GNU-Linux-x86/main.o /usr/lib/libglfw.a /usr/lib/libglfw.a(window.o): In function glfwOpenWindow': /usr/lib/libglfw.a(x11_init.o):在函数_glfwPlatformInit': /usr/lib/libglfw.a(x11_init.o): In function _ glfwPlatformInit'中: /usr/lib/libglfw.a(x11_init.o):在函数_glfwPlatformInit': /usr/lib/libglfw.a(x11_init.o): In function _ glfwPlatformInit'中: /usr/lib/libglfw.a(x11_init.o):在函数_glfwPlatformTerminate': /usr/lib/libglfw.a(x11_init.o): In function _ glfwPlatformTerminate'中: /usr/lib/libglfw.a(x11_window.o):在函数translateKey': /usr/lib/libglfw.a(x11_window.o): In function translateKey'中: /usr/lib/libglfw.a(x11_window.o):在函数translateKey': /usr/lib/libglfw.a(x11_window.o): In function translateChar'中: ........... ........................

我还应该链接或安装什么?

更新 Here据说应该添加LIBRARIES =' - pthread -lglfw -lGL -lX11 -lGLU -lXxf86vm' 但是我应该在NetBeans属性中添加哪些内容?我尝试了MakeFile和“链接器选项”也没有任何帮助。

UPDATE1 使用以下命令手动编译main.cpp:

**g++ main.cpp  -o Game -lglfw -lGL -lGLU -lX11 -lpthread -lXxf86vm -lm**

编译正常。如何通过NetBeans ???

链接所有这些库

1 个答案:

答案 0 :(得分:4)

我找到了解决方案。对于那些感兴趣的人: 打开项目属性。然后“链接器” - &gt; “库”。 在“库”对话框中: 点击“添加选项” - &gt; “其他选项”。 在文本字段中插入以下参数:

-lGLEW -lglfw -lGL -lGLU -lX11 -lpthread -lXxf86vm -lm

我想只有使用旧的OpenGL版本才需要lGLU。