首页 > 代码库 > 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的移植