我想澄清的是,我知道有更好的方法来编写图形程序,但我们的老师在 Windows 上使用 Turbo C++ 程序,并带有 Graphics.h 头文件。由于我使用的是 Linux kali 发行版,因此我想要一个最佳解决方案来运行带有 Graphics.h 头文件的 C 程序。问题是graphics.h 不是标准GCC 库的一部分。
现在有多种方法可以解决这个问题:
- 安装 Turbo C++ 和 DOSBox
- 将“graphics.h”C/C++ 库添加到 Linux 中的 GCC 编译器
- 下载具有graphics.h库的编译器。 (我不知道其中有多少道理,但我是根据我的基本理解写的。)
现在让我们讨论解决方案,
我没有尝试第一个。如果有的话,我想要一个更优化的解决方案。您可以描述所有解决方案,以便我可以更好地理解这个解决方案。
第二种解决方案是获取依赖项和必要的包。为此,我查阅了这篇文章: 如何在 Linux 中将“graphics.h”C/C++ 库添加到 gcc 编译器
这是 4 个步骤的过程:
获取构建必需品。 完毕。
sudo apt-get install build-essential
附加包。 部分完成。
sudo apt-get install libsdl-image1.2 libsdl-image1.2-dev guile-2.0 \ guile-2.0-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
上面的命令给出以下错误:
所以在这里我可以通过在源列表中添加一些存储库来找到包,但我不想破坏我的系统。我可以以某种方式在网上找到该包,但我不知道应该将文件放在哪里。另外,这让我想到了上述软件包安装在哪里的问题?
- 下载并安装 libgraph-1.0.2.tar.gz 文件 部分完成
我下载了该文件,并将其解压缩。运行命令./configure
,然后当我运行时,make
它在终端上给出以下输出。 (我想向您提供见解,但如果您忽略警告,则会出现 1 个致命错误。)
guile-libgraph.c:25:10 致命错误:libguile.h:找不到文件或目录。
Pastebin的链接如下: 使命令输出
我尝试了其他解决方案,例如此链接中建议的解决方案: 尝试安装 libgraph
使用替代方法,我得到的输出是: 使命令输出
没有错误,只是警告,所以我继续执行make install
命令。我得到以下错误作为输出:
最后,进行安装
正如你所看到的,我被困住了。谢谢阅读。请帮忙。
主要目标是在Linux kali 上使用graphics.h 运行C 程序。
答案1
我编写 SDL_bgi 正是为了提供一个可移植的、现代的、快速的“GRAPHICS.H”实现,它与 DOS 的原始 Borland 编译器兼容。可以从以下位置下载http://libxbgi.sourceforge.net/
要在任何 GNU/Linux 发行版上编译并安装它,请执行以下操作:
$ tar zxvf SDL_bgi-2.4.4.tar.gz # or later release
$ cd SDL_bgi-2.4.4/src
$ make
$ sudo make install
文件将安装在适当的目录中:
SDL_bgi.h -> /usr/include/SDL2/
graphics.h -> /usr/include/
libSDL_bgi.so -> /usr/lib/
使用 SDL_bgi 编译图形程序:
$ gcc -o program program.c -lSDL_bgi -lSDL2
快乐的图形编程!
答案2
好吧,在研究了这个问题之后,我意识到你不能直接在 linux kali 上运行它,因为带有 Graphics.h 的程序需要 Linux kali 官方存储库中不存在的软件包。但如果你特别需要编译和运行使用graphics.h头文件的代码(用于教育目的),你将需要一个DOSBOX模拟器,你可以在上面安装borland的turbo c++ IDE。
请按照以下步骤操作:
安装
dosbox
并turbo c++
(在 Ubuntu 14.04 上使用 DOSBox 运行 Turbo C++)设置库的路径和包含目录(Turbo C++ 错误:无法打开包含文件“stdio.h”)
如果出现链接器错误,请执行以下操作:
选项 -> 链接器 -> 库
单击图形库一次以检查图形库(单击后您将在复选框中看到一个“X”),然后按“确定”
通过使用 Turbo C++ 编译和运行代码来测试它是否有效。