치명적인 오류, 해당 파일이나 디렉터리가 없습니다.

치명적인 오류, 해당 파일이나 디렉터리가 없습니다.

안녕하세요, Linux 터미널 라인에 문제가 있습니다. 그래서 이렇게 파일을 .o로 컴파일해 보았습니다.

gcc -c palindrome.c

오류는 다음과 같습니다

palindrome.c:2:21: fatal error: reverse.h: No such file or directory
compilation terminated.

lab2 디렉터리의 모든 내용을 lab 3으로 복사했기 때문에 reverse.h 파일은 실제로 해당 디렉터리에 있습니다. 그럼 왜 그런 말을 하는 걸까요? 당신의 도움에 감사드립니다

cscstuff@ubuntu:~/inlab2$ ls -l
total 32
-rwxrwxr-x 1 cscstuff cscstuff 8784 Oct  1 08:26 main1
-rw-rw-r-- 1 cscstuff cscstuff  338 Oct  1 08:20 main1.c
-rw-rw-r-- 1 cscstuff cscstuff 1888 Oct  1 08:24 main1.o
-rw-rw-r-- 1 cscstuff cscstuff  204 Oct  1 08:26 reverse.c
-rw-rw-r-- 1 cscstuff cscstuff   84 Oct  1 08:19 reverse.h
-rw-rw-r-- 1 cscstuff cscstuff 1472 Oct  1 08:26 reverse.o
cscstuff@ubuntu:~/inlab2$ cd
cscstuff@ubuntu:~$ cd inlab3
cscstuff@ubuntu:~/inlab3$ ls -l
total 16
drwxrwxr-x 2 cscstuff cscstuff 4096 Oct  1 08:33 inlab2
-rw-rw-r-- 1 cscstuff cscstuff  247 Oct  1 09:21 main2.c
-rw-rw-r-- 1 cscstuff cscstuff  297 Oct 15 11:01 palindrome.c
-rw-rw-r-- 1 cscstuff cscstuff   51 Oct  1 08:34 palindrome.h
cscstuff@ubuntu:~/inlab3$ gcc -c palindrome.c
palindrome.c:2:21: fatal error: reverse.h: No such file or directory
compilation terminated.
cscstuff@ubuntu:~/inlab3$ 

답변1

inlab3어느 것에서 나

  • -I../inlab2컴파일러에 추가합니다 (예: gcc -I../inlab2 -c palindrome.cgcc가 ../inlab2에서 헤더 파일을 찾도록 지시합니다).

  • 포함 줄에 사용합니다 #include "../inlab2/reverse.h"(헤더 파일에 대한 상대 경로를 제공합니다).

  • 복사 위치 inlab2 cp ../inlab2/reverse.h .(이렇게 하면 에서 헤더 파일의 복사본을 사용할 수 있게 됩니다 inlab3)

관련 정보