致命的なエラー、対応するファイルやディレクトリはありません。

致命的なエラー、対応するファイルやディレクトリはありません。

こんにちは、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

おすすめ記事