Как скомпилировать C программу в gcc, которая имеет заголовочные файлы? - PullRequest
8 голосов
/ 02 марта 2011

Я хочу скомпилировать программу на C в gcc, в которой есть 2 моих заголовочных файла.

Я использую команду:

gcc UDP_Receive.c -o UDP_Receive -lm

для компиляции, но я получаю сообщение об ошибке «UDP_Data.h: нет такого файла или каталога»

Как я могу сказать компилятору включить эти заголовочные файлы?

Заголовочные файлы:

# включает «UDP_Data.h»

# включает «Crypt.h»

Спасибо, Ритеш

Ответы [ 2 ]

7 голосов
/ 02 марта 2011

Используйте -Idirectory, чтобы добавить включаемые пути, или сделайте, чтобы ваш оператор #include использовал относительные пути.

EDIT: Также помните, что имена файлов #include чувствительны к регистру на многих платформах.

EDIT2: Используйте #include "UDP_Data.h" не #include <UDP_Data.h>

5 голосов
/ 02 марта 2011

Вы сказали компилятору включить этот файл с такой строкой:

#include "UDP_Data.h"

проблема в том, что компилятор не может найти этот файл, и не забывайте, что некоторые платформы чувствительны к регистру, когда дело доходит до имен файлов, поэтому «UDP_data.h» не совпадает с файлом «UDP_Data.h». По умолчанию компилятор будет искать в нескольких местах, но вам нужно будет добавить дополнительные каталоги к его поиску, используя параметры командной строки. Точная опция будет зависеть от компилятора, для gcc это:

-I<directory>
...