【发布时间】:2020-10-04 04:46:16
【问题描述】:
我在浏览 IOCCC 网站时偶然发现了一个名为 banks 的 1998 年条目,它是 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
包括代码banks.c
#include <math.h>
#include <sys/time.h>
#include <X11/Xlib.h>
#include <X11/keysym.h>
有没有办法不使用 Linux 编译文件?
【问题讨论】:
-
也许我可以为您节省一点时间:出于好奇,我尝试在 Linux 系统上构建 bank.c,但失败了。除其他外,还有一大堆未定义的变量。我怀疑让它在 Windows 上构建只是问题的一部分。
-
@KevinBoone 但是,我遇到的唯一错误是上面的错误(使用makefile时),也没有任何警告。
-
C(或 C++)预处理器在 #include 行失败,实际编译根本没有开始。这就是您没有立即看到所有错误的原因。
-
考虑到这是 IOCCC 的获奖作品,它不应该失败。但是,如果我们使用@ViktorLatypov 的答案的推理,我就会明白为什么会发生这种情况。但我还是会尝试寻找如何在windows中编译X11库
-
确保您已使用 cygwin 安装应用程序安装了 libx11-devel。此软件包提供 x11/Xlib.h 和 x11/keysym.h 文件,以及构建 X11 客户端所需的其他文件。用 gcc 为 cygwin 编译。这将构建银行 x11 客户端。还要安装为 X11 服务器提供二进制文件的 xorg-server。并阅读 cygwin.com 上关于启动 xserver 的文档。