基于Linux下的OpenGL环境搭建流程
1.流程:
(1) sudo apt-get install build-essential
(2)sudo apt-get install libgl1-mesa-dev
(3)sudo apt-get install libglu1-mesa-dev
(4)sudo apt-get install libglut-dev
如果这一步出现了错误,则这一步骤更换为以下语句即可:
sudo apt-get install freeglut3-dev
(5)sudo apt-get install mesa-utils
这一步的必要性我不太清楚,不过在我进行了前面四步之后去运行测试程序是不对的,进行了第五步之后,测试程序可以运行成功,具体原因待查,查出即更新具体原因,以供大家探讨。
2.编写一个测试代码,用来测试OpenGL环境搭建是否成功
// Programmer: Mihalis Tsoukalos
// Date: Wednesday 04 June 2014
//
// A simple OpenGL program that draws a triangle.
#include “GL/freeglut.h”
#include “GL/gl.h”
void drawTriangle()
{
glClearColor(0.4, 0.4, 0.4, 0.4);
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0);
glBegin(GL_TRIANGLES);
glVertex3f(-0.7, 0.7, 0);
glVertex3f(0.7, 0.7, 0);
glVertex3f(0, -1, 0);
glEnd();
glFlush();
}
int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE);
glutInitWindowSize(500, 500);
glutInitWindowPosition(100, 100);
glutCreateWindow(“OpenGL - Creating a triangle”);
glutDisplayFunc(drawTriangle);
glutMainLoop();
return 0;
}
编译执行:g++ triangle.cc -lglut -lGL -o triangle
程序执行结果如下图所示:
至此就完成了OpenGL的环境搭建。
参考博客地址:
1.测试代码来源,亲测无误。https://blog.csdn.net/lichengyu/article/details/62102022
2.搭建环境流程参考https://blog.csdn.net/wasaiheihei/article/details/52085397
3.Ubuntu下OpenGL环境的搭建流程https://www.cnblogs.com/kaixuanguilai/p/3313297.html
第三个博客的setting->Complier and Debugger这一步没看懂,不清楚,待查,先做个记录。
4.Linux下openGL环境的搭建https://www.linuxidc.com/Linux/2017-03/141555.htm
最开始我按照这篇博客进行了环境的搭建,但是测试程序没有成功,刚刚找到原因,是我自己的问题,在此做个记录。
这个测试程序是显示一个茶壶,其程序如下所示:
test.c
#include
void init(void)
{
glClearColor(0.0, 0.0, 0.0, 0.0);
glMatrixMode(GL_PROJECTION);
glOrtho(-5, 5, -5, 5, 5, 15);
glMatrixMode(GL_MODELVIEW);
gluLookAt(0, 0, 10, 0, 0, 0, 0, 1, 0);
return;
}
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 0, 0);
glutWireTeapot(3);
glFlush();
return;
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowPosition(0, 0);
glutInitWindowSize(300, 300);
glutCreateWindow(“OpenGL 3D View”);
init();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
编译程序时,执行以下指令:
gcc -o test test.c -lGL -lGLU -lglut
我自己在输入上面这条指令的时候没有输入正确,-lGL的第一个字母不是大写的i,而是小写的L。
执行:
./test
找到了测试软件的一个网站,里面全都是OpenGL的简单测试程序,地址如下:
很多简单测试OpenGL的程序网站,亲测有效https://www.opengl.org/archives/resources/code/samples/simple/
还有一个介绍更详细的网站:
描述更加详细的网站https://www.linuxjournal.com/content/introduction-opengl-programming
在运行这些测试程序的时候,首先要分清楚程序是c还是c++,将程序文本保存为对应的.c和.cc文件,而后调用对应的gcc和g++来编译程序,产生一个输出文件。在程序运行的时候可能会出错,我们要根据提示的程序错误进行检查,是否库安装出现了问题或者没有连接到库,例如出现如下图所示的情况:
则表示我们对应的库没有连接到,因此解决办法就是在gcc或g++的时候添加连接到库的操作 (-lm)即可
即 gcc -o e e.c -lGL -lGLU -lglut -lm 运行便可以通过。
在后来的学习中,偶然看到了一篇博客,将此过程说的极为详细,本人亲测有效无误。链接如下:码上看世界大哥的博客
另,我手中有博主发给我的glew库压缩包,有不方便在网上下载的留下邮箱,我看到之后发给你。