将头文件安装到没有Internet访问权限的Linux机器上

时间:2018-05-03 07:01:07

标签: c linux x11

我正在使用CentOS 6.0 Linux系统,出于安全考虑,该系统受到各种各样的限制。它没有互联网访问权限,所以我在其上安装的任何东西都必须手动完成(例如,gcc没有包含在内,为了得到它,我必须手动下载,复制和安装一堆rpms)。

也不包括:任何X11头文件。我并不是特别精通linux,而且我的编码经验主要是在C#中。我希望.h文件的工作方式与.dll文件非常相似,我可以将X11头文件从完整的Centos 6.0安装复制到我受限制的文件中(进入 / usr / include / X11 / )< / p>

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

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

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

2 个答案:

答案 0 :(得分:1)

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

这是对缺少的库的引用,而不是头文件。如果编译器无法找到标题,您将得到类似的结果:

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

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

答案 1 :(得分:1)

正确的方法是“手动下载,复制和安装一堆rpms”。逐个复制文件不是解决方案。