首页 > 代码库 > svgalib的移植

svgalib的移植

  svgalib是一套运行于Linux及FreeBSD下的开放源代码低阶绘图函式库,它允许程式设计人员变更视讯模式及全屏幕图像。它提供了函数接口使得linux的图形显示更容易。

  svga的移植步骤:

  1)下载svgalib

    下载地址:https://launchpad.net/ubuntu/+source/svgalib/1:1.4.3-30
    下载文件:svgalib_1.4.3.orig.tar.gz             // svgalib压缩安装文件
                  svgalib_1.4.3-30.debian.tar.gz    // svgalib压缩补丁文件
                  svgalib_1.4.3-30.dsc                  // 文件描述

  2)解压缩

    解压缩svgalib压缩安装文件:tar xzf svgalib_1.4.3.orig.tar.gz

    解压缩svgalib压缩补丁文件:tar xzf svgalib_1.4.3-30.debian.tar.gz

  3)打补丁

    进入svgalib目录:cd svgalib-1.4.3.orig/

    打补丁:for file in ../debian/patches/*.patch; do patch -p1 < $file; done

  4)编译安装:   

    sudo make install

  此时会编译出错,编译出错信息为:未定义libx86.h,需要安装libx86

  5)下载libx86

    下载地址:http://packages.ubuntu.com/lucid/libx86-1

    下载文件:libx86_1.1+ds1.orig.tar.gz     // libx86压缩安装文件

         libx86_1.1+ds1-6.diff.gz        // libx86压缩补丁文件

  6)解压缩

    解压缩libx86压缩安装文件:tar xzf libx86_1.1+ds1.orig.tar.gz 

    解压缩libx86压缩补丁文件:gunzip libx86_1.1+ds1-6.diff.gz

  7)打补丁

    进入libx86目录:cd libx86-1.1/

    打补丁:patch -p1 < ../libx86_1.1+ds1-6.diff

  8)编译安装

    make

  此时又会有一个错误,错误消息提示:“IF_MASK”未定义

  google search搜索得到一个补丁文件,阅读补丁文件得知为向lrmi.c中添加宏定义。

  9)添加宏

    向lrmi.c中添加宏定义如下:

    #if defined(__linux__) && !defined(TF_MASK)

      #define TF_MASK X86_EFLAGS_TF
      #define IF_MASK X86_EFLAGS_IF
      #define VIF_MASK X86_EFLAGS_VIF
      #define IOPL_MASK X86_EFLAGS_IOPL
    #endif

  10)跳至第8步

    编译:make

    安装:sudo make install

  11)跳至第4步

    安装:sudo make install

  至此,终于将svgalib库函数安装完毕。

svgalib的移植