【问题标题】:Setting up OpenGL NetBeans project with GLFW on Ubuntu在 Ubuntu 上使用 GLFW 设置 OpenGL NetBeans 项目
【发布时间】:2012-12-23 15:49:34
【问题描述】:

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

undefined reference to `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->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 functionglfwOpenWindow': /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 functiontranslateKey'中: /usr/lib/libglfw.a(x11_window.o):在函数translateKey': /usr/lib/libglfw.a(x11_window.o): In functiontranslateChar'中: ............ ......................

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

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

更新1 使用此命令手动编译 main.cpp:

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

编译正常。如何通过 NetBeans 链接所有这些库???

【问题讨论】:

    标签: c++ opengl ubuntu netbeans


    【解决方案1】:

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

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

    我猜只有在你使用旧的 OpenGL 版本时才需要 lGLU。

    【讨论】:

    • 你是我的疯狂英雄。我爱爱爱爱你。
    • 我也刚开始使用 glfw。就我而言, -lglfw -lGL 就足够了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多