0

我正在使用 CentOS 6.0 linux 系统,出于安全原因,该系统在很多方面都受到限制。它没有互联网接入,所以我在上面安装的任何东西都必须手动完成(例如,不包括 gcc,为了让它在那里,我必须手动下载、复制和安装一堆 rpm)。

也不包括:任何 X11 头文件。我不是特别精通 linux,我的编码经验主要是 C#。我希望 .h 文件能像 .dll 文件一样工作,我可以将 X11 头文件从完整的 Centos 6.0 安装复制到我的受限文件(到/usr/include/X11/

情况似乎并非如此。尝试编译包含 Xlib.h 头文件并调用命令 XOpenDisplay 的 C 程序会返回错误:test.c:(.text+0x11): undefined reference to 'XOpenDisplay'

有没有正确的方法将头文件安装到这样的机器上?

(我可以在完整的 Centos 安装上编译并将文件移动到受限机器,但这是一个冗长的多步骤过程 - 出于安全原因 - 这使得调试非常乏味。)

4

2 回答 2

1

正确的做法是“手动下载、复制、安装一堆rpm”。一个一个地复制文件不是解决方案。

于 2018-05-03T07:23:52.287 回答
1

test.c:(.text+0x11): undefined reference to 'XOpenDisplay'

这是对缺失库的引用,而不是头文件。如果编译器无法找到标头,您将得到如下信息:

fatal error: x11.h: No such file or directory

您需要确保包含 X11 库(使用 -lX11 链接)。

于 2018-05-03T07:08:23.753 回答