CodeBlocks 16.01配置OpenGL(GLUT)

2018-12-11  本文已影响51人  xushiluo

撰写时间:2018年12月11日
上一篇写了Visual studio express 2013 for desktop下如何配置OpenGL。这次写下在codeBlocks下如何配置。

一、系统环境

二、软件准备

1. tdm-gcc

tdm-gcc-5.1.0-3.exe是个C/C++的编译器套件minGW,我们开发C++程序,当然需要该编译器了。当然,也可以使用微软的VC编译器,也是可以的。这里我们使用GNU GCC编译器,所以下载了tdm-gcc-5.1.0-3.exe。
下载地址:http://tdm-gcc.tdragon.net/download

2. CodeBlocks

CodeBlocks可以到腾讯下载中心下载,相对于官网,腾讯软件中心的下载速度比较快。腾讯上的版本不带minGW,就选这个了。
版本号是 16.01: https://pc.qq.com/detail/3/detail_2123.html

3. Glut和winGlut

minGW编译器套件是gcc在Windows下的移植版,gcc在Linux下工作得更好。在windows下使用minGW版本的OpenGL库时,除了需要Glut这些东西外,还需要winGlut链接库。

(1) glut下载地址可以到我的百度云,或者网上找。建议到我的百度云下载(无需提取码):
https://pan.baidu.com/s/1TP1Kx8L6GkrMILDIK5jx2w
下载后发现里面有7个文件,如下:

glut_file_list

(2)winGlut.zip可以到这里下载:
http://web.cs.wpi.edu/~gogo/courses/mingw/winglut.zip
或者到我的百度云下载:
https://pan.baidu.com/s/1XNasPj2smTOFdjeOj3sf_A


三、安装tdm-gcc和CodeBlocks

1. 安装tdm-gcc

首先我们安装tdm-gcc-5.1.0-3.exe,由于它是编译器,我们先安装它。随后安装CodeBlocks 16.01的时候,就可以自动检测到该编译器了。
安装过程没什么好说的,建议安装32位的版本,64位的操作系统是兼容32位版本的gcc的所以不必担心兼容性问题。我将其安装到了C盘的根目录下,目录为:C:\TDM-GCC-32

tdm-gcc_folder

2. 安装CodeBlocks

安装过程没什么好说的,直接一步步安装到默认路径。安装完成后勾选自动启动,然后它会自己检测到已经存在的编译器,这里我们选择GNU GCC Compiler,也就是我们之前安装的tdm-gcc了。

四、设置Glut和winGlut

1. 复制Glut文件

将下载的glutdlls37beta.zip解压缩为文件夹glutdlls37beta。
将glutdlls37beta中的文件复制到对应的TDM-GCC目录,具体复制关系如下(不要着急复制,可以使用下面的bat文件自动复制):

下面的$minGW_HOME$指的是:C:\TDM-GCC-32
1). 将glut.h复制到\$minGW_HOME\$\include\GL目录,GL目录是本来就存在的。
2). 将glut.libglut32.lib复制到$minGW_HOME\lib目录,。
3). 如果是64位操作系统,将glut.dllglut32.dll复制到C:\Windows\SysWOW64
如果是32位操作系统,将glut.dllglut32.dll复制到C:\Windows\System32

那么,另外两个x64_Copy2VS2013Express.batx64_Copy2_Tdm-gcc.bat是干嘛的呢?
手动复制多个文件的操作是比较麻烦而且容易出错的。所以我写了个bat批处理文件,x64_Copy2VS2013Express.bat将对应的文件复制到Visual studio express 2013 for desktop的默认安装目录(请不要随意更改VS的安装路径),当然,这个bat文件本博客中用不着。

x64_Copy2_Tdm-gcc.bat是将glut库的对应文件复制到TDM-GCC编译器默认的安装目录。这里我们直接右键单击该bat批处理文件,以管理员运行,如果不报错即可完成复制。(复制到C盘某些目录,需要管理员权限)

2. 复制winGlut文件

解压缩winglut.zip到文件夹winglut。解压后如下图所示,我们只需要winlib文件夹中的libglut32win.a链接库文件。

winGlut_file_list

libglut32win.a复制到$minGW_HOME\lib目录,本文中是C:\TDM-GCC-32\lib,具体目录取决于你的tdm-gcc安装路径。

五、使用CodeBlocks创建Glut工程

(1)打开CodeBlocks,点击菜单栏【File】-->【New】-->【Project】,选择【GLUT project】,指定项目的名称和项目的存储路径。


create_glut_project

(2)指定GLUT的安装路径。
注意看对话框上的说明文字,步骤四.1中,我把glut安装到tdm-gcc的目录下,GLUT的安装路径必须包含include和lib两个子文件夹。本文中,我的GLUT安装路径是:C:\TDM-GCC-32

specify_glut_path

(3)指定编译器
这一步指定编译器,当然是选择GNU GCC Compiler啦,要不然我们安装tdm-gcc干嘛。

specify_compiler

(4)运行glut示例程序
如果上面的步骤都没有错,那么至此CodeBlocks工程创建成功,可以选择菜单【Build】-->【Build and run】或者按下F9,构建并运行程序。得到如下报错:

build_error

这是什么缘故呢?根据这篇博客的结果:https://blog.csdn.net/qq_38068435/article/details/79662624,我们需要在头文件中添加#include<windows.h>, windows.h最好放在#include <GL/glut.h>的前面。
如下图所示:

add_windows_h

再次按下F9,构建并运行,得到正确结果,喜大普奔!!!


glut_shape_results

六、写在后面的话

本文中使用了不带minGW的CodeBlocks,因此最后新建CodeBlocks工程后,还需要添加windows.h头文件。

根据这篇博客:Code Blocks中配置OpenGL方法-Sophiale07
使用带minGW的CodeBlocks,该博主可以不加windows.h头文件而不报错。不过这个我并未验证。如果有谁验证了请告诉我!!!

上一篇下一篇

猜你喜欢

热点阅读