Fedora和Ubuntu下安装OpenGL开发环境配置

Fedora下OpenGl开发环境配置

开发OpenGL工程需要3个库文件和对应的头文件:

libglut.so,libGLU.so,libGL.so, gl.h ,glu.h, glut.h

这些库在linux系统中默认都有,使用locate命令验证都在标准库目录(/usr/lib)下:

[root@localhost GL]# locate libglut.so
/usr/lib/libglut.so.3
/usr/lib/libglut.so.3.9.0

[root@localhost GL]# locate libGLU.so
/usr/lib/libGLU.so
/usr/lib/libGLU.so.1
/usr/lib/libGLU.so.1.3.070700

[root@localhost GL]# locate libGL.so
/usr/lib/libGL.so
/usr/lib/libGL.so.1

/usr/lib/libGL.so.1.2

但是头文件是没有的,安装开发包之前使用locate验证无法找到相关文件。

安装开发包(需要3个开发包):

yum install mesa-libGL-devel mesa-libGLU-devel //这两个是opengl核心库

yum install freeglut-devel //OpenGL Utility ToolKit

安装完之后用rpm命令验证安装包和查询安装的文件以及安装在什么位置(以glut-devel为例):

[root@localhost etc]# rpm -qa | grep glut

freeglut-devel-2.6.0-1.fc12.i686

[root@localhost etc]# rpm -ql freeglut-devel
/usr/include/GL/freeglut.h
/usr/include/GL/freeglut_ext.h
/usr/include/GL/freeglut_std.h
/usr/include/GL/glut.h
/usr/lib/libglut.so

由上可见安装freeglut之后在/usr/include/GL/目录下添加了glut.h,在/usr/lib/下替换了libglut.so文件。

可以在/usr/include/GL下使用ls验证一下安装的头文件:

[root@localhost GL]# ls
freeglut_ext.h  freeglut_std.h  gl.h         glu.h         glut.h    glx.h     glx_mangle.h  glxproto.h   internal
freeglut.h      glext.h         gl_mangle.h  glu_mangle.h  glxext.h  glxint.h  glxmd.h       glxtokens.h

好了,相关库和头文件都一切就绪,我们可以来写一个最简单的例子程序:

#include <GL/glut.h>
void display(){
    glClear(GL_COLOR_BUFFER_BIT);
    glBegin(GL_POLYGON);
    glVertex2f(-0.5,-0.5);
    glVertex2f(-0.5,0.5);
    glVertex2f(0.5,0.5);
    glVertex2f(0.5,-0.5);
    glEnd();
    glFlush();
}
int main(int argc,char *argv[]){
    glutInit(&argc,argv);
    glutCreateWindow("Simple");
    glutDisplayFunc(display);
    glutMainLoop();
    return 0;

}

使用如下命令编译:

gcc simple.c -o app -lglut -lGL -lGLU -lm -lX11 -lm

运行./app出现一个画了白色矩形的窗口:

本文引用地址:http://blog.sciencenet.cn/blog-623402-546787.html 此文来自科学网霍振华博客,转载请注明出处。

===

Ubuntu下安装OpenGL配置

OpenGL 是一套由SGI公司发展出来的绘图函式库,它是一组 C 语言的函式,用于 2D 与 3D 图形应用程式的开发上。OpenGL 让程式开发人员不需要考虑到各种显示卡底层运作是否相同的问题,硬体由 OpenGL 核心去沟通,因此只要显示卡支援 OpenGL,那么程式就不需要重新再移植,而程式开发人员也不需要重新学习一组函式库来移植程式。

安装

首先不可或缺的就是编译器与基本的函式库,如果系统没有安装的话,依照下面的方式安装:

    $ sudo apt-get install build-essential

安装OpenGL Library

    $ sudo apt-get install libgl1-mesa-dev

安装OpenGL Utilities

    $ sudo apt-get install libglu1-mesa-dev
   OpenGL Utilities 是一组建构于 OpenGL Library 之上的工具组,提供许多很方便的函式,使 OpenGL 更强大且更容易使用。

安装OpenGL Utility Toolkit

    $ sudo apt-get install libglut-dev

       OpenGL Utility Toolkit 是建立在 OpenGL Utilities 上面的工具箱,除了强化了 OpenGL Utilities 的不足之外,也增加了 OpenGL 对于视窗介面支援。
       注意:在这一步的时候,可能会出现以下情况,shell提示:

    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    E: Unable to locate package libglut-dev

将上述$ sudo apt-get install libglut-dev命令改成$ sudo apt-get install freeglut3-dev即可。

测试

示例test.c源码:

    #include <GL/glut.h>

    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

执行:

    $ ./test

配置IDE,用cmake作为构建工具

其实opengl的程序的cmake写法很简单,因为在linux下,头文件已经自动放到系统include路径了,因此只需要在链接的时候加入链接库,和前面用gcc/g++编译的设定几乎一致,无非是把参数写在CMakeLists.txt中。比如用clion作为IDE,那么对应的CMakeLists.txt为:

cmake_minimum_required(VERSION 3.3)
project(hello)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

set(SOURCE_FILES main.cpp)
add_executable(hello ${SOURCE_FILES})
target_link_libraries(${PROJECT_NAME} GL GLU glut)   #此行为新增

当然,如果你觉得写makefile很容易,那也可以去写的,关键点还是链接库要加入 GL GLU glut三个。

关于cmake的用法,可以参考10分钟搞定cmake。如果进一步想看看pkg-config是怎么玩的,可以参考pkg-config的用法,即在/usr/lib64/pkgconfig路径下查看对应的pc文件。

glew.h头文件

目前还没有用到glew.h头文件,前面fedora的安装中也没有相关的安装。安装方法:

sudo dnf install glew-devel
#会安装glew-devel 和 libGLEWmx两个rpm包

如果是ubuntu,看起来应该这样安装:

sudo apt-get install libglew-dev
时间: 2024-10-31 02:38:29

Fedora和Ubuntu下安装OpenGL开发环境配置的相关文章

ubuntu下搭建JAVA开发环境【转】

转自:http://jingyan.baidu.com/article/86fae346b696633c49121a30.html JAVA开发环境是一种跨平台的程序设计语言,可以在windows.LINUX等操作系统上进行开发.小编以前是做LINUX C开发的,最近因为工作,需要在UBUNTU下进行java开发环境的搭建,故写下这篇经验,和大家共享.参考.本篇经验分四步: 1)下载JDK 2)下载eclipse 3 ) 安装JDK 4)安装eclipse   工具/原料   UBUNTU ec

关于安装opengl开发环境后编译出现“无法解析的外部符号”的问题

问题描述 关于安装opengl开发环境后编译出现"无法解析的外部符号"的问题 本人使用的是win7 64位家庭普通版系统,以及visual studio 2012,照网上说明安装了glew,freeglut,glut后 输入一段代码之后,函数什么的都可以正常变色 代码什么的都是蓝宝书上边的应该没有什么问题,粘贴一部分上来: glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPT

在Centos6.5系统下安装java开发环境详细步骤

Centos6.5系统下安装java开发环境的步骤如下 一.安装jdk 1.查看Linux自带的JDK是否已安装 java ?version 如果出现openjdk,最好还是先卸载掉openjdk,在安装sun公司的jdk. 2.查看jdk信息 rpm -qa|grep java 3.卸载OpenJDK,执行以下操作: rpm -e --nodeps tzdata-java-2012c-1.el6.noarchrpm -e --nodeps java-1.7.0-openjdk-1.7.0.45

Ubuntu16.04安装后开发环境配置和常用软件安装

Ubuntu16.04安装后1.安装常用软件搜狗输入法+编辑器Atom+浏览器Chome+视频播放器vlc+图像编辑器GIMP Image Editor安装+视频录制软件RcordMyDesktop安装.2.开发环境配置.JDK环境配置+scala环境配置+nodejs环境配置+开发工具intellij IDEA安装+Python数据分析环境配置+Jupyter开发工具安装+Python多版同时支持. 1.Ubuntu16.04安装常用软件(搜狗输入法+编辑器Atom+浏览器Chome+视频播放

UBUNTU下搭建ANDROID开发环境遇到的三个问题及解决措施

1.UBUNTU下安装ADB不能运行       查阅了STACKOVERFLOW上的相关资料,我的系统是64位的,而ADB是32位的,要运行这个程序必须安装ia32-libs,这个库就是用来在64位系统上运行32位程序用的      执行命令 sudo apt-get install ia32-libs 2.ECLIPSE没有菜单栏       这个实在太搞了.以前在WIN7下开发得很爽的,这次差点让我无语了.解决措施:       在桌面写启动项,这个随便去网上抄抄吧,这是一个BUG 3.E

Ubuntu 系统下安装Android开发环境 Android Studio 1.0 步骤

Android Studio 是一个谷歌Android开发环境,类似于Eclipse开发和调试,是一款工具开发软件.Android Studio 1.0 最近已经发布.更多信息,查看该页面.     使用PPA进行安装,非常方便,打开终端,输入以下命令: sudo add-apt-repository ppa:paolorotolo/android-studio sudo apt-get update sudo apt-get install android-studio 移除PPA并删除软件:

在Ubuntu下搭建Android开发环境_Android

1.安装JDK 其实这一步我比较偷懒,在网上查了一下Ubuntu系统下安装JDK的方法,看起来稍稍有点麻烦,于是我试着在自带的软件中心里搜了一下,然后发现在软件中心里有个OpenJDK Java 7,尝试着安装后,发现这是个好东西,一键安装后环境变量什么的都已经自动配好了,eclipse什么的都能自动识别,很方便.百度了一下Open JDK和sun JDK的区别,大概就是sun公司的JDK是在Open JDK的基础上开发的,扩展了一些东西.经过这段时间的使用,在开发Android的时候没发现有什

Ubuntu下搭建Java开发环境方法详解

具体安装步骤及问题: 本文以当前用户帐号安装和配置为例,不像切换root帐号那么麻烦,偶尔还会有权限问题. 1.安装jdk 1.6 我安装的是jdk-6u45-linux-x64.bin,在Ubuntu上安装rpm挺费事,.bin文件直接安装就ok.jdk 1.6版本还是很不错的,关键是要和"工作大环境"相统一.要稳定不要最新,新版不一定是好的,附上:jdk官方下载地址. 下载后,打开终端(ctrl+alt+t),进入到下载的文件目录,再执行命令安装到指定目录,如我的jdk安装目录为:

用Shell脚本快速搭建Ubuntu下的Nodejs开发环境_linux shell

nodejs的确是很火,以前倒腾过,但是从来没有认真记录下什么.在ubuntu下搭建它的开发环境尝尝鲜,有一个捷径,它能让系统自动帮你安装所需要的东西,我们生成一段shell脚本,让它来完成以下工作: 安装 git下最新的node,node包管理器,Forever和Cloud9IDE工具(可选),mongodb 10gen:注:脚本的正常运行需要比较新版本的Ubuntu,而且需要联网,因为它会连接网络去下载所有的依赖包顺序安装. 1.脚本代码: 复制代码 代码如下: #!/bin/shecho