我想在我的2个头文件的gcc中编译一个C程序。如何在具有头文件的gcc中编译C程序?
我使用命令:
gcc UDP_Receive.c -o UDP_Receive -lm
编译它,但我得到一个错误,指出 “UDP_Data.h:没有这样的文件或目录”
我怎么能告诉编译器包含这些头文件?
头文件:
的#include “UDP_Data.h”
的#include “Crypt.h”
感谢, 仅限Ritesh
我想在我的2个头文件的gcc中编译一个C程序。如何在具有头文件的gcc中编译C程序?
我使用命令:
gcc UDP_Receive.c -o UDP_Receive -lm
编译它,但我得到一个错误,指出 “UDP_Data.h:没有这样的文件或目录”
我怎么能告诉编译器包含这些头文件?
头文件:
的#include “UDP_Data.h”
的#include “Crypt.h”
感谢, 仅限Ritesh
使用-Idirectory
添加包括路径,或使您的#include
语句使用相对路径。
编辑: 也请注意,#include
文件名在许多平台上都区分大小写。
EDIT2: 使用#include "UDP_Data.h"
不#include <UDP_Data.h>
我的头文件与我的源代码文件位于相同的位置。 – 2011-03-02 09:49:54
我的头文件与我的源代码文件位于相同的位置。你能不能请一个详细的例子来引导我完成编译过程。谢谢 – 2011-03-02 09:51:14
文件名是否正好是'UDP_Data.h'?没有例如'UDP_data.h'? – Erik 2011-03-02 09:52:33
你告诉编译器包含这个文件,用这样一行:
#include "UDP_Data.h"
问题是编译器无法找到该文件,不要忘记,一些平台在文件名方面是区分大小写的,所以“UDP_data.h”与“UDP_Data.h”不是同一个文件。默认情况下,编译器会在几个地方进行搜索,但是您需要使用命令行选项为搜索添加额外的目录。确切的选项将取决于编译器,对于GCC是:
-I<directory>
@Jim:如果该行不在源文件中,您将如何得到该错误? (当然,除了额外的命令行选项!) – Skizz 2011-03-02 10:01:54
杜佩http://stackoverflow.com/questions/973146/how-to-include-header-files-in-gcc-search-path的 – GrahamS 2011-03-02 10:01:43