我在浏览IOCCC网站时偶然发现了 1998 年的一个条目,名为“banks”,这是 Carl Banks 开发的一款飞行模拟器。我想尝试一下,所以下载了这些文件,但正如你所知(来自 MinGW),遗憾的是我使用的是 Windows 系统(特别是 Win-7 32 位),当我尝试使用 Cygwin 和 MinGW 来编译文件时这显示了
banks.c:3:16: fatal error: X11/Xlib.h: No such file or directory
3 | #include <X11/Xlib.h>
| ^~~~~~~~~~~~
compilation terminated.
make: *** [makefile:92: banks] Error 1
Run Code Online (Sandbox Code Playgroud)
并包含代码banks.c
#include <math.h>
#include <sys/time.h>
#include <X11/Xlib.h>
#include <X11/keysym.h>
Run Code Online (Sandbox Code Playgroud)
有没有办法在不使用Linux的情况下编译该文件?
小智 5
当我在 1997 年写它时,我确实使用 Cygwin 在 Windows 上测试了它,所以我知道它当时可以工作,而且现在应该没有理由不能工作。在 Cygwin 的包管理器中,您需要安装一个名为 libx11-dev 的包或类似的东西(X11 开发库),以及一个 X 服务器(可能称为 Xorg 之类的东西),当然还有 GCC 和开发包像make这样的工具。您应该能够从开始菜单启动 Cygwin X 服务器,并且在 X 窗口内的后续终端窗口中,您可以 cd 到解压 IOCCC 获胜者的文件夹并运行 make。(有关 Cygwin 的更多详细信息超出了本回复的范围;我主要凭记忆,因为我已经很多年没有使用 Cygwin 了。)
但如果你想听听我的意见,请不要费心使用 Cygwin。构建和运行它的一种更简单的方法是获取 Linux 的 Live CD 并直接启动 Linux,然后在其中运行它。有些 Live CD 上有 GCC 之类的开发工具,其他的则可以让您轻松下载 GCC。Knoppix 是一个常见的选择。
(如果你想真正变态,你可以尝试安装适用于 Linux 的 Windows 子系统,这样你就可以在 Windows 上本地运行 Linux 程序。)