微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 在sublime上编译运行opengl程序

在sublime上编译运行opengl程序

时间:11-30 来源:互联网 点击:
一.本人的环境:

ubuntu13.04;
sublime text3;
二.正文:
闲来无事,本着sublime无所不能的想法,就想在sublime上编译运行opengl程序, google了好久也没找到完美的解决办法,自己的build-system老是不对,(可以正常编译,不能编译一定是编译命令错了-lGL -lGLU -lglut三个关联库都有才能编译成功)编译后按ctrl+shift+b不能运行,看不到茶壶啊=_=,只能用终端cd到文件目录下运行之,麻烦!本着试一试的想法,瞎改一通,终于解决了:

1.先安装opengl,这个网上教程很多,不再赘述 ,依次运行以下命令即可

sudo apt-get install build-essential
sudo apt-get install libgl1-mesa-dev
sudo apt-get install libglu1-mesa-dev
sudo apt-get install freeglut3-dev
2. 配置sublime:
1.打开sublime,依次点Tools->Build System->New Build System...;
2.写入以下代码;

{

"shell_cmd":"g++"${file}"-o"${file_path}/${file_base_name}""-lGL""-lGLU""-lglut"",

"file_regex":"^(..[^:]*):([0-9]+):?([0-9]+)?:?(.*)$",

"working_dir":"${file_path}",

"selector":"source.c,source.c++",

"variants":

[

{

"name":"Run",

"shell_cmd":"./"${file_base_name}""

}

]

}

3.ctrl+s保存之,自己起个名字,我的是opengl.sublime-build;

4.现在你可以写个测试hello world测试哈了(这hello world真长=_=);

#include

voidinit();

voiddisplay();

intmain(intargc,char*argv[])

{

glutInit(&argc,argv);

glutInitDisplayMode(GLUT_RGB|GLUT_SINGLE);

glutInitWindowPosition(0,0);

glutInitWindowSize(300,300);

glutCreateWindow("OpenGL3DView");

init();

glutDisplayFunc(display);

glutMainLoop();

return0;

}

voidinit()

{

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);

}

voiddisplay()

{

glClear(GL_COLOR_BUFFER_BIT);

glColor3f(1.0,0,0);

glutWireTeapot(3);

glFlush();

}

5.ctrl+b编译,ctrl+shift+b运行,即可看到茶壶>o<:



6.在终端中先后运行
g++ gl.cpp -o gl-lGL -lGLU -lglut
./gl
可达到同样效果


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top