如何在gcc中编译一个包含头文件的C程序?

时间:2011-03-02 09:27:45

标签: c gcc header compilation

我想在gcc中编译一个包含我的2个头文件的C程序。

我正在使用命令:

  

gcc UDP_Receive.c -o UDP_Receive -lm

编译它但是我收到一条错误,指出“UDP_Data.h:没有这样的文件或目录”

如何告诉编译器包含这些头文件?

标头文件:

  

#include“UDP_Data.h”

     

#include“Crypt.h”

谢谢, 仅限Ritesh

2 个答案:

答案 0 :(得分:7)

使用-Idirectory添加包含路径,或使#include语句使用相对路径。

编辑: 另请注意,#include文件名在许多平台上都区分大小写。

EDIT2: 使用#include "UDP_Data.h"而不是#include <UDP_Data.h>

答案 1 :(得分:5)

您告诉编译器要包含该文件,其行如下:

#include "UDP_Data.h"

问题是编译器找不到该文件,并且不要忘记某些平台在文件名方面是区分大小写的,因此“UDP_data.h”与“UDP_Data.h”不是同一个文件。默认情况下,编译器会在几个地方搜索,但您需要使用命令行选项为其搜索添加额外的目录。确切的选项取决于编译器,对于gcc来说:

-I<directory>