zoukankan      html  css  js  c++  java
  • svgalib_1.4.3 移植

    运行环境

    RedHat 6.3 Linux localhost 2.6.32-279.el6.i686
    

    需准备好的文件:

    libx86_1.1+ds1.orig.tar.gz
    libx86_1.1+ds1-6.diff.gz
    svgalib_1.4.3.orig.tar.gz
    svgalib_1.4.3-30.debian.tar.gz
    561491.patch
    

    库安装步骤

    #分别解压源码和补丁
    tar xzf svgalib_1.4.3.orig.tar.gz
    tar xzf svgalib_1.4.3-30.debian.tar.gz
    
    #打上补丁
    cd svgalib-1.4.3.orig/
    for file in ../debian/patches/*.patch; do patch -p1 < $file; done
    
    #svgalib 的编译需要 libx86 库
    #解压源码
    tar xzf libx86_1.1+ds1.orig.tar.gz 
    gunzip libx86_1.1+ds1-6.diff.gz
    
    #打上补丁
    cd libx86-1.1/
    patch -p1 < ../libx86_1.1+ds1-6.diff 
    
    make // 这时会出现错误,修改 lrmi.c,添加 561491.patch 内的宏
    make
    make install //libx86 编译并安装成功
    
    # 再回 svgalib-1.4.3.orig 目录执行安装命令就不会有错误了
    make install
    

    库安装成功后使用以下程序进行测试:

    #include <stdlib.h>
    #include <vga.h>
    #include <vgagl.h>
    
    int main(void)
    {
    	int x, y;
    	
    	vga_init();
    	vga_setmode(G320x200x256);
    	gl_setpalettecolor(4, 0xE7>>2, 0xDB>>2, 0xB5>>2);   /* 0xE7DBB5  */
    	vga_setcolor(4);
    
    	for (x = 0; x < 320; x++)
    		for (y = 0; y < 200; y++)
    			vga_drawpixel(x, y);
    
    	sleep(5);
    	vga_setmode(TEXT);
    
    	return EXIT_SUCCESS;
    }
    

    执行编译命令:

    gcc -o svgatest svgatest.c -lvga -lvgagl
    

    运行结果:

    正确的结果是 Teminal 呈现出类似“泛黄的纸”的颜色。

    可是我得到的结果却没有这么完美,当时一运行显示出下面的结果:

    mmap /dev/zero Permission denied
    

    傻了!经过百般检索终于找到了解决的办法

  • 相关阅读:
    python模块学习第 0000 题
    报错The VMware Authorization Service is not running
    图像指纹的重复识别
    CSS预编译器配置-------LESS Sass Stylus webstorm
    CSS布局中的水平垂直居中
    进度与日程
    HTML5 application cache
    进度
    CC2530芯片介绍
    Linux命令工具 top详解
  • 原文地址:https://www.cnblogs.com/GyForever1004/p/8577633.html
Copyright © 2011-2022 走看看