0

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

每当我尝试使用 vm 的终端进行编译时,gcc -o traceroutet traceroutet.c都会出现以下错误:

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有关?

4

1 回答 1

1

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

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

于 2013-11-27T22:55:39.357 回答