我试图在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链接器 – >库,然后得到更多的错误,如:
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': /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
x11_init.o):In function _glfwPlatformInit': /usr/lib/libglfw.a(x11_init.o): In function
x11_init.o):In function _glfwPlatformInit': /usr/lib/libglfw.a(x11_init.o): In function
):In function _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
x11_window.o):在函数translateKey': /usr/lib/libglfw.a(x11_window.o): In function
x11_window.o):在函数中translateKey': /usr/lib/libglfw.a(x11_window.o): In function
translateChar'中:……….. …………….. …….
还有什么我应该链接或安装?
更新: 这里说,应该添加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链接所有这些库?
我想出了解决方案。对于那些感兴趣的:Openg项目properties.Then “链接器” – > “库” 。 在“库”对话框中:单击“添加选项” – > “其他选项” 。 在文本框中插入这些参数:
-GLEW -lglfw -lGL -lGLU -lX11 -lpthread -lXxf86vm -lm
我猜只有使用旧的OpenGL版本才需要lGLU。