专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

在sublime上编译运行opengl程序

作者:huqin   来源:本站原创   点击数:  更新时间:2013年11月18日   【字体:
 一.本人的环境:
            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 <GL/glut.h>
 
void init();
void display();
 
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;
}
 
void init()
{
    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);
}
 
void display()
{
    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
        可达到同样效果
关闭窗口

相关文章