Mic*_* IV 3 c++ opengl ubuntu netbeans
我正在尝试在Ubuntu上设置OpenGL开发环境。我已经安装了包括GLFW在内的所有库,因为我不想使用GLUT.GLEW库也已经安装了。以前,目前我正在:
运行以下简单代码时未定义对`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;
}
Run Code Online (Sandbox Code Playgroud)
我确定这是与链接器有关的问题,因此我将libglfw.a添加到了Linker-> Libraries中,然后出现了更多类似以下的错误:
使[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 functiontranslationKey中:/usr/lib/libglfw.a(x11_window.o ):在函数translateKey':
/usr/lib/libglfw.a(x11_window.o): In functiontranslationChar'中:.........................................................
我还应该链接或安装什么?
更新: 在这里说应该添加LIBRARIES ='-pthread -lglfw -lGL -lX11 -lGLU -lXxf86vm',但是我应该在NetBeans属性中添加那些内容吗?我也尝试放入MakeFile和“链接器选项”,但没有任何帮助。
Update1 使用以下命令手动编译main.cpp:
**g++ main.cpp -o Game -lglfw -lGL -lGLU -lX11 -lpthread -lXxf86vm -lm**
Run Code Online (Sandbox Code Playgroud)
编译正常。如何通过NetBeans链接所有这些库?
我想出了解决方案。对于那些感兴趣的人:Openg项目属性。然后单击“链接器” -> “库”。在“库”对话框中:单击“添加选项” -> “其他选项”。在文本字段中插入以下参数:
-lGLEW -lglfw -lGL -lGLU -lX11 -lpthread -lXxf86vm -lm
我猜只有在使用旧版OpenGL时才需要lGLU。
| 归档时间: |
|
| 查看次数: |
3574 次 |
| 最近记录: |