1

CでUbuntuでmakefileを使用する方法を学ぼうとしています(ご想像のとおり、私は初心者です)。「A Book on C」にはこの主題に関する章があり、3 つのファイルの簡単な例が示されています: main.c、sum.c、sum.h (コードなし)、および次のコードを含むメイクファイル:

sum: main.o sum.o
    gcc –o sum main.o sum.o
main.o: main.c sum.h
    gcc –c main.c 
sum.o: sum.c sum.h
    gcc –c sum.c 

今、私はこのコードをEclipseでコンパイルしようとしていますが、うまくいきません。上記のコードと前述の 3 つのファイルを使用して、makefile という名前のファイルを作成しました。これは私が得るエラーです:

make all 
make: *** No rule to make target `all'.  Stop.

助けていただければ幸いです。ありがとう

4

1 に答える 1

7

「makeall」を実行すると、「all」というターゲットを作成しようとしているが、まだ定義していないことを意味します。

最初の行に追加する必要があります:

all: sum

ところで、(引数なしで)「make」を実行すると、最初のターゲットが構築されます(「all」ターゲットがない場合)。そのため、「すべて」のターゲットを最初のターゲットとして配置することをお勧めします。

于 2013-03-23T17:50:11.950 に答える