1. 首页 > 智能数码 >

opengl库怎么添加 opengl怎么导入模型

在Linux上怎么安装OpenGl?

1.安装IDE: 这里使用的是codeblocks\x0d\x0asudo apt-get install codeblocks\x0d\x0a2.配置Linux下的openGL\x0d\x0a下载并安装openGL所需要的库\x0d\x0asudo apt-get install mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev\x0d\x0asudo apt-get install freeglut3-dev\x0d\x0asudo apt-get install build-essential gdb subversion\x0d\x0asudo apt-get install automake autoconf libtool\x0d\x0asudo apt-get install libgtk2.0-dev libxmu-dev libxxf86vm-dev\x0d\x0a3.配置codeblocks IDE\x0d\x0a在Settings->compiler and debugger settings->link settings\x0d\x0a添加:\x0d\x0a/usr/lib/libGL.so

opengl库怎么添加 opengl怎么导入模型opengl库怎么添加 opengl怎么导入模型


1.首先需要去opengl的官网下载glut库:

2.解压后,将glut32.lib和glut.lib两个文件拷贝到qt目录下的./lib文件夹中;

3.将glut.dll和glut32.dll两个动态链接库拷贝到C:\windows\system32中;

4.将glut.h文件拷贝到qt目录下的\include\QtOpenGL中,并建立glut文件【内容写上 #include "glut.h"】,保存为没有后缀名的文件;

5.切换到自己的程序中,在 **.pro 文件中添加:

LIBS += -lgut32

LIBS += -LC:\glut

6. 在main.cpp中加入逗#include地或者逗#include地,这样就可以使用glut中的函数了。

项目->选项->项目和解决方案->VC++目录;在弹出对话框“显示一下内容的目录”下拉框中,选择“库文件”然后新建一个,把你的 OpenGL lib库目录包含进来就OK,这只是告诉编译器lib文件该去哪里找,你要引用的lib需要在你的 项目->属性->输入->附加依赖性,写入你要引用的库,“OpenGL32.lib GLu32.lib 和 GLaux.lib ......”

QtOpenGL里面没有glut拓展库,需要自己下载添加。如果用的是QtCreator,打开.pro文件,右键->添加库

pro里有 QT += opengl 。

如果还不行可能就是一些环境变量的问题了。

.pro文件中可以设置,如果使用IDE创建的工程,那么在工程属性里面可以选择添加某个模块,例如:openGL。 我是用的Qt creator,直接在官网上下的SDK的那个版本,没有见添加openGL那个模块

关于OpenGL和directx的争论一直没有停息过,我并不想告诉你哪个更好,但是比较公认的是OpenGL对于一个初学者更容易理解。下面主要说一下OpenGL的可配置(当然这很简单,但有时候库配置好了仍然出错,希望我的方法可以帮到大家)

复制.dll文件(包括glu.dll,glut.dll glut32.lib opengl.dll四个文件)到系统盘c:\windows\system32中

复制.h文件(包括gl.h glaux.h glext.h glu.h glut.h wglext.h六个文件)到Visual c++ 的安装目录下

以我的为例C:\program files\Microsoft visual stdio\VC98\include\GL下,一般都会有GL文件夹的,没有的话新建一个就行了。

复制.lib文件(包括glaux.lib glu.lib glu32.lib glut.lib glut32.lib opengl.lib opengl32.lib 七个文件到C:\program files\Microsoft visual stdio\VC98\lib中

然后就可以开始编写OpenGL程序了

打开VC,新建一个 win32,console application 工程。我用的是中文版,点击“工程(project)”->“设置(setting)”,中选“连接(link)”在“对象\库模块”中添加“opengl32.lib glu32.lib glaux.lib”中间用空格隔开。

新建一个source Files 添加以下代码:

#include

#include

void display()

{glClear(GL_COLOR_BUFFER_BIT);

glBegin(GL_POLYGON);

glVertex2f(-0.5,-0.5);

glVertex2f(-0.5,0.5);

glVertex2f(0.5,0.5);

glVertex2f(0.5,-0.5);

glEnd();

glFlush();

}void init()

{glClearColor(0.0,0.0,0.0,0.0);

glColor3f(1.0,0.0,0.0);

glMatrixMode(GL_PROJECTION);

glLoadIdentity();

gluOrtho2D(-1.0,1.0,-1.0,1.0);

}void myKeyboard(unsigned char key,int x,int y)

{if(key==27)exit(0);

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

{glutInit(&argc,argv);

glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);

glutInitWindowSize(500,500);

glutInitWindowPosition(0,0);

glutCreateWindow("OpenGL程序");

glutDisplayFunc(display);

glutKeyboardFunc(myKeyboard);

init();

glutMainLoop();

return 0;

}看看运行结果:

一般来说这样就行了,但是我看到有很多网友按照上面的设置仍然不能运行出正确的OpenGL程序,出现以下错误:

error LNK2001: unresolved external symbol ___glutInitWithExit@12

到v.obj : error LNK2001: unresolved external symbol ___glutCreateWindowWithExit@8

Debug/大法官.exe : fatal error LNK1120: 2 unresolved externals

执行 link.exe 时出错

如果用的是gl.h等头文件也有可能出现以下错误:

c:\program files\microsoft visual studio\vc98\include\gl\gl.h(1152) : error C2144: syntax error : missing ';' before type 'void'

c:\program files\microsoft visual studio\vc98\include\gl\gl.h(1152) : error C2501: 'WINGDIAPI' : missing storage-class or type specifiers

c:\program files\microsoft visual studio\vc98\include\gl\gl.h(1152) : fatal error C1004: unexpected end of file found

执行 cl.exe 时出错.

如果不是库的问题就应该是路径设置

那么你可以试试以下方法:

点击“开始”->"附件”->"命令提示符"输入"path"看看有没有VC的路径(如图):如果没有则进行设置,分别输入:set include=C:\Program Files\Microsoft Visual Studio\VC98\Include\GL(点击回车)

接着输入:set lib=C:\Program Files\Microsoft Visual Studio\VC98\Lib(点击回车)

(即:include和Lib文件的路径),这样就应该OK了。

或者 在#inlcude之前加上#define GLUT_DISABLE_ATEXIT_HACK

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至836084111@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息