graphics.h是上古时代C语言程序开发工具Turbo C的图形库,主要在Dos环境下使用。在现代图形库的发展下逐渐被淘汰。graphics.h具有像素函数、线型函数、多边形函数、曲线函数、填充函数、图像函数等函数类型,简单和易用,学习成本低,简单的做出任何2d图像。

对于linux,需要手动编译库来使用
linux使用graphics库的方法:
首先下载libgraph
libgraph源码下载地址:http://download.savannah.gnu.org/releases/libgraph/
解压,进入源码目录

tar -xzvf libgraph-1.0.2.tar.gz 
cd libgraph-1.0.2/

安装依赖项

sudo apt-get install libsdl-image1.2 libsdl-image1.2-dev guile-1.8 \
guile-1.8-dev libsdl1.2debian libart-2.0-dev libaudiofile-dev \
libesd0-dev libdirectfb-dev libdirectfb-extra libfreetype6-dev \
libxext-dev x11proto-xext-dev libfreetype6 libaa1 libaa1-dev \
libslang2-dev libasound2 libasound2-dev build-essential

编译安装

./configure
make
sudo make install

之后在/usr/local/include/目录和/usr/local/lib/目录下安装了graphics.h相关的头文件以及libgraph库。使用pkg-config命令能够查看他们的编译链接参数

pkg-config --cflags --libs libgraph
-I/usr/local/include -L/usr/local/lib -lgraph

编辑一个测试程序demo.c

#include <graphics.h>

int main()
{
   int gd = DETECT,gm,left=100,top=100,right=200,bottom=200,x= 300,y=150,radius=50;
   initgraph(&gd,&gm,NULL);
   rectangle(left, top, right, bottom);
   circle(x, y, radius);
   bar(left + 300, top, right + 300, bottom);
   line(left - 10, top + 150, left + 410, top + 150);
   ellipse(x, y + 200, 0, 360, 100, 50);
   outtextxy(left + 100, top + 325, "C Graphics Program");

   delay(5000);//延迟5000ms
   closegraph();//关闭图形结束程序
   return 0;
}

编译运行,编译时加-lgraph参数,链接到libgraph库

gcc demo.c -lgraph
./a.out

在这里插入图片描述


参考文章:
如何在Ubuntu中使用graphics.h?

源码:
libgraph-1.0.2.tar.gz.7z

我在linux已经编译好的库:
graphics-build.tar.gz
编译器版本:

g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.7/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.7.2-5' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.7.2 (Debian 4.7.2-5) 

操作系统

lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 7.0 (wheezy)
Release:	7.0
Codename:	wheezy
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐