使用gcc通过虚拟机进行编译时遇到问题

时间:2013-11-27 22:43:46

标签: c gcc compiler-errors virtual-machine traceroute

我目前正在尝试通过运行Ubuntu的虚拟机编译我的文件traceroutet.c,我认为这会导致问题。我也通过我大学的VPN访问文件,这会导致问题吗?

每当我尝试使用gcc -o traceroutet traceroutet.c通过vm的终端进行编译时,我会收到此错误:

traceroutet.c:13:16: fatal error: ip.h: No such file or directory

compilation terminated

问题是,我的头文件保存在与我的源相同的文件夹中,所以我认为gcc -o可以在这里工作吗?我也尝试在编译时使用-I/h/SCC203/Lab 2/ip.c,但是我得到了类似的错误。

我一直在使用gcc一段时间并且从未遇到过问题,所以我猜这与虚拟机或VPN有关吗?

1 个答案:

答案 0 :(得分:1)

我非常怀疑错误与虚拟机有关。

我认为这取决于你如何#include你的ip.h:如果你写#include "ip.h"(注意双引号),那么你让编译器找到位于同一目录下的'ip.h'作为.c文件。它的实现定义了编译器是否会继续在系统头中进行搜索。由于您最有可能尝试包含系统范围的ip.h而不是您自己的与IP相关的头文件,因此您应该使用尖括号(并使用正确的相对路径)来包含它:#include <linux/ip.h>。< / p>