OpenGL学习----程序库编译-freeglut

2.1 freeglut

2.1.1 简介

      freeglut是OpenGL Utility Toolkit(GLUT)库的免费软件/开源替代品。
      Pawel于1999年12月1日开始进行freeglut开发。现在,该项目实际上是对原始GLUT的100%替代,只差了一点点(例如放弃了SGI特定的功能,例如Dials&Buttons框和Dynamic Video Resolution),并且缩小的错误集。
       freeglut在基本GLUT功能的基础上增加了一些其他功能,例如,使用了更多的预定义对象集,能够运行事件循环的单次迭代或从其正常退出的功能,鼠标滚轮输入回调,可选的OpenGL核心/兼容性配置文件上下文创建,多点触摸/多指针输入以及对更大,不断增长的平台集的支持,仅是其中的一部分。

2.1.2 库文件和编译工具准备

http://freeglut.sourceforge.net/下载freeglut。
https://cmake.org/download/下载CMake编译工具。

2.1.3 编译freeglut库

       将下载的freeglut库文件freeglut-3.2.0.tar.gz解压。然后打开cmake工具,选择freeglut解压之后的路径及编译文件的存放路径,如下图:

OpenGL学习----程序库编译-freeglut

点 Configure 选择编译器和编译的版本类型(x64 或 win32):

OpenGL学习----程序库编译-freeglut

点Finish后,开始进行默认配置:

OpenGL学习----程序库编译-freeglut
配置完成:

OpenGL学习----程序库编译-freeglut
下面需要根据你自己的需求配置编译选项。设置如下:
(1)默认字符集为使用多字节字符集、默认运行时库为MTd,想要修改为字符集使用Unicode,修改运行时库使用MDd,需要打开freeglut-3.2.0文件下的 CMakeLists.txt,在文件中增加下面这行内容:
add_definitions(-MDd -DUNICODE -D_UNICODE)

OpenGL学习----程序库编译-freeglut
(2)若想将编译之后的lib和头文件输出到指定文件夹下,则需要设置CMARK_INSTALL_PREFIX 后的路径:

OpenGL学习----程序库编译-freeglut
接下来重新点击下 Configure,则 CMake 会根据修改后的参数重新配置项目:

OpenGL学习----程序库编译-freeglut
点Generate生成解决方案:

OpenGL学习----程序库编译-freeglut
然后打开解决方案,准备编译。

OpenGL学习----程序库编译-freeglut
可以看到项目的配置属性与我们在cmake中设置的一致:使用 Unicode 字符集、静态库。
然后对ALL_BUILD进行生成。

OpenGL学习----程序库编译-freeglut
全部生成成功。
然后生成INSTALL:

OpenGL学习----程序库编译-freeglut
生成成功后,我们能看到在cmake中设置的生成文件路径:

OpenGL学习----程序库编译-freeglut
以及头文件、库文件:

OpenGL学习----程序库编译-freeglut

OpenGL学习----程序库编译-freeglut
至此freeglut库编译完成。