使用CMake编译freeglut-3.0.0的静态库

时间:2024-03-10 17:47:13

之前写了为了编译此库自己搭工程,有读者抱怨这个库,说作者没有提供现成的工程,自己搭工程太麻烦。而咱在linux下尝试编译,发现没有configure文件,所以就按照作者推荐的CMake来制作Makefile,再make。别看下文篇幅那么长,实际上CMake相当容易使用,只是截图占篇幅而已。


回到Windows下,解开freeglut-3.0.0的压缩包,用记事本打开目录树下的“README.cmake”文件,根据文中提到的网址:

http://www.cmake.org/cmake/resources/software.html

下载Binary distributions。之前使用的时候版本是3.2.2,今天再去那个网站准备把下载链接粘过来的时候,发现就更新到3.2.3了敲打

http://www.cmake.org/files/v3.2/cmake-3.2.3-win32-x86.zip

下载好,解开其压缩包后,找到可执行文件,cmake-3.2.2-win32-x86\bin\cmake-gui.exe,运行之,界面如下:


在两个where后边填上目录树的路径(注意不是src的路径,本文以R:\freeglut-3.0.0为例),点击configure按钮,弹出如下的对话框,从中选择所需的开发环境:


这里支持的环境好多,选择需要的环境,然后点击Finish,它会开始检查这个环境,然后给出一些配置选项:


从中修改静态库目标的安装位置(本例安装在R:\freeglut_static),勾掉不需要的选项(比如Demo动态连接库等),点击Generate,即可生成工程。

打开工程后,找到工程设置,在此可以按照自己的需要修改一些配置,实际上绝大多数都不必动,有可能需要修改的也就是这么个地方:


这个按照自己的需要选择单线程运行库或是多线程运行库,或是多线程的DLL版运行库,主要是为了防止和别的库或者别的工程的设置冲突。

然后批量编译:


勾掉不必要的选项,比如MinSizeRel是在Release版本的基础上,改成最小尺寸优化的版本;RelWithDebInfo是在Release版本的基础上,添加调试信息的版本。这俩版本的可以不要。然后,点击Rebuild All,编译完就可以在安装目录下找到最终文件了。