请注意codeblocks版本问题。
建议下载codeblocks-xx.xx (版本号)mingw-setup 版本的codeblocks程序但不要去官网下载最新的codeblock!!!。新版本的mingw版本也会是最新的。新建一个GLUT项目后执行时会出现"can not find -lglut32freeglut"错误。这是因为库文件版本与平台版本不对应。
目前安装17.12及其以下版本是没问题的。
云盘分享:codeblocks-17.12mingw-setup、codeblocks-16.01mingw-setup、freegult
二、、下载并安装FreeGlut链接:https://pan.baidu.com/s/1A-BV0YR5DgWM07k-ooLIAw
提取码:3ias
下载地址如下,或上面云盘自取
freeglut Windows Development Libraries (transmissionzero.co.uk)
1. 将freegult文件下include中的*.h拷贝到mingw->include->GL
2. 将*.a拷贝到mingw->lib
3. 将*.dll拷贝到(三选一即可)
32位系统:windows->system32
64位的系统: windows->SysWOW64
不论32还是64位:mingw->bin
三、配置OpenGL新建项目: Code::Blocks->Console application->Go->C++->项目储存地址
设置lib库:点击Settings->Compiler & debugger->link settings
Add: “libopengl32”, “libglu32”, “libfreeglut”.之后即可在项目中编写OpenGL有关代码。
四、测试把下列代码粘贴到main.cpp测试文件。
#includestatic void resize(int width, int height) { const float ar = (float) width / (float) height; glViewport(0, 0, width, height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(45.0, ar, 0.1, 100.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity() ; } static void display(void) { static double theta = 0; glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); theta = theta+0.05; glLoadIdentity(); glColor3d(1, 0.5, 1); glTranslated(0, 0, -8); glRotated(30, 1, 0, 0); glRotated(theta, 0, 1, 0); glutSolidTeapot(2.0f); glutSwapBuffers(); } static void idle() { glutPostRedisplay(); } int main(int argc, char *argv[]) { glutInit(&argc, argv); glutInitWindowSize(800, 600); glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH); glutCreateWindow("GLUT Teapot"); glutReshapeFunc(resize); glutDisplayFunc(display); glutIdleFunc(idle); glClearColor(1,1,1,1); glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LESS); glEnable(GL_LIGHT0); glEnable(GL_COLOR_MATERIAL); glEnable(GL_LIGHTING); glutMainLoop(); return 0; }
编译运行结果:



