2016-08-31 62 views
-1

私はこのようなCプログラムをコンパイルしようとしていた。COMMON.H:そのようなファイルやディレクトリはありません(UbuntuのGCC)

1 #include <stdio.h> 
2 #include <stdlib.h> 
3 #include <sys/time.h> 
4 #include <assert.h> 
5 #include "common.h" 
6 
7 int 
8 main(int argc, char *argv[]) 
9 { 
10 if (argc != 2) { 
11 fprintf(stderr, "usage: cpu <string>\n"); 
12 exit(1); 
13 } 
14 char *str = argv[1]; 
15 while (1) { 
16 Spin(1); 
17 printf("%s\n", str); 
18 } 
19 return 0; 
20 } 

と私は

CPU.c:5:19: fatal error: common.h: No such file or directory 

エラーを受け取った私は、アップデートを持っています私のgccコンパイラは、なぜ "Common.h"が見つからないのかわかりません。

答えて

0

common.hはC標準ライブラリの一部ではありません。サードパーティのヘッダファイルです(あなたのものですか?)。

common.hを投稿したコードと同じディレクトリに置く必要があります。そうしないと、コンパイラは何の助けもなくファイルを見つけることができなくなります。

「some help」とは、パスを含むことを意味します。ファイルをインクルードすると、コンパイラは、角括弧(<somefile.h>)の代わりに引用符("somefile.h")を使用している場合、コンパイラはそれが知っている定義済みの場所と現在のディレクトリ(現在コンパイル中のファイルのディレクトリ) )。

だから、あなたはどちらかそうのようにGCCにそれらの場所の一つにヘッダを置くか、または新しい(カスタムディレクトリを含める)を定義-Iフラグをする必要があります。

gcc -Ipath/to/your/dir/here myfile.c 
関連する問題