背景
glut库自从2000年之后就没更新了,freeglut库一般是只提供源代码,不提供预编译文件
如果在Linux下使用,可以直接用install安装OpenGL开发环境。而在Windows则需要自行编译
方法
1.下载freeglut源代码并解压
http://freeglut.sourceforge.net/index.php#download
一般是下载Stable Releases中的freeglut x.x.x,下载后解压。例如,解压到E:\freeglut目录
2.下载CMake并安装
https://cmake.org/download/
一般是下载Windows x64 Installer: cmake-x.x.x-windows-x86_64.msi,下载后安装。
3.使用CMake生成freeglut的Visual Studio项目
(1) 运行CMake
(2) 在where is the source code输入框填入freeglut源代码路径,对应上面的例子是E:\freeglut目录
(3) 在where to build the binaries输入框填入生成的VS项目路径。例如E:\freeglutVS
(4) 点击Configure按钮,选择VS的版本,然后点击Finish按钮,开始检查环境。
过程中会提示"xxx.h not found",不用担心,not found的文件是Linux文件,在Windows下是很正常,可以忽略该提示。
(5) 点击Generate按钮,就会在E:\freeglutVS目录生成freeglut可编译项目
4.编译freeglut
进入E:\freeglutVS目录,打开freeglut.sln,用debug+x86(win32)的方式编译。
编译的文件包括:
(1) bin\Debug中的freeglut.dll或freeglutd.dll(如果是debug编译,末尾会有个d)
(2) lib\Debug中的freeglut.lib和freeglut_staticd.lib
另外,还会需要用到源代码目录中的include子目录。对应上面例子是E:\freeglut\include
5.环境准备
(1) 把freeglut.dll或freeglutd.dll复制到系统的SysWOW64目录,一般是C:\Windows\SysWOW64
(2) 下载glew库并解压
http://glew.sourceforge.net/
一般是下载Binaries Windows 32-bit and 64-bit,下载后解压
(3) 把freeglut和gluw的文件放到某个目录,例如E:\Library\,子目录如下:
├─freeglut │ ├─include │ │ └─GL │ └─lib └─glew ├─bin ├─doc ├─include │ └─GL └─lib
6.创建OpenGL项目并测试
(1) 创建VS项目,例如OpglTest
(2) 右键项目 -> 属性 -> VC++目录 ->
1) 在Include目录添加E:\Library\freeglut\include和E:\Library\glew\include
2) 在Library目录添加E:\Library\freeglut\lib和E:\Library\glew\lib
(3) 新建OpglTest.cpp文件,输入以下代码:
#include <GL/glew.h> #include <GL/freeglut.h> void Display() { glClear(GL_COLOR_BUFFER_BIT); glRectf(-0.6f, -0.6f, 0.6f, 0.6f); glFlush(); } int main(int argc, char* argv[]) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); glutInitWindowPosition(100, 100); glutInitWindowSize(500, 500); glutCreateWindow("OpenGL test"); glutDisplayFunc(&Display); glutMainLoop(); return 0; }
调试运行
7.freeglutd.lib的错误提示处理
如果弹出错误提示说"找不到freeglutd.lib文件",打开E:\Library\freeglut\include\GL\目录中的freeglut_std.h文件
找到pragma comment (lib, "freeglutd.lib"),改成pragma comment (lib, "freeglut.lib"),就是说把末尾的d去掉
重新编译即可
标签:lib,Windows,Library,编译,include,freeglut From: https://www.cnblogs.com/live41/p/16720757.html