OpenGL库的总结

在opengl库中我们经常看到以下这几个文件
头文件:glut.h    glu.h   gl.h
dll文件: glut32.dll     glut.dll    glu32.dll    glu.dll
引入库文件:glut32.lib     glu32.lib


下面就总结以下怎么去调用:
1、如果要用glut库的话,glut32.dll必须放在system32里面,这里说一下glut32.dll跟glut.dll有什么区别,区别就是前者是微软自己做的,如果你直接调用glut.dll是没有办法调用的,那就是说在windows下你只能用glut32.dll,这里也有一个问题,如果你直接把glut32.dll放在qt安装目录下去调用,你是没有办法调用的,一定要放在system32里面,然后把glut32.lib放在qt安装目录的lib文件夹里面就可以调用了。
    所以总结一下,qt引用glut库必须的步骤:先把glut32.dll放在system32里面,然后把然后把glut32.lib放在qt安装目录的lib文件夹里面,头文件也放在qt安装目录include文件夹里面,在pro文件里面直接添加LIBS+= -lglut32如果你的glut32.lib放在了lib目录里面的某一个文件夹,而不是跟文件夹的话,你直接用LIBS+= -lglut32是不行的,找不到,因为mingw搜索默认的只是lib的根目录,不会再进入子目录去搜索,除非你在LIBS+= -L"绝对路径" -lglut32就可以,无论是lib也好,dll也好都是遵循这个规则。


2、如果要用glu库的话提供两种方法
   第一、glu32.dll(这个在安装系统的时候就有的,一般情况下不用自己添加)放在system32里面,glu32.lib放在安装目录的lib目录里面,跟glut类似
   第二、直接用glu.dll,把它直接放在lib目录里面,在pro文件添加 LIBS+= -lglu就行了,跟glut.dll不一样,这个可以直接调用。


说一说mingw是怎么工作的:
其实一开始编译它会首先搜索一下自己的include lib 目录的,也就是说如果我们不把那些头文件,链接库文件放到安装目录的话可以放到编译器对应的目录里面,不过不赞成这样做。然后搜索完之后就根据.pro文件的环境变量去搜索对应的路径,也就是qt的安装目录或者是INCLUDEPATH的目录。



再说说链接库文件
在windows下面mingw可以直接用dll文件的,不需要引入库文件.lib,当然也可以用.lib文件。如果用它去编译动态库文件会生成一个例如liblabel.a和label.dll,第一个是引入库文件来的,只是后缀为.a而已,在调用的时候可以不用它,直接liblabel.dll就行了。





你可能感兴趣的:(OpenGL库的总结)