-2

新しい C プログラムを作成しようとしていますが、プログラムをコンパイルできません。これは、私のメイクファイルが間違っているように見えるためです。「ターゲットを「すべて」にするルールはありません」と「ターゲットを「クリーン」にするルールはありません」というメッセージが表示され続けます。これが私がこれまでに持っているものです:

メインプログラム:

#include <stdio.h>

Sleepy() {

main (); {
    printf("Hello world");
}

}

ヘッダー (まだ何もしていませんが):

#ifndef SLEEPY_H_
#define SLEEPY_H_



#endif /* SLEEPY_H_ */

そしてメイクファイル:

CC = gcc
CFLAGS = -c

Sleepy.o: Sleepy.c Sleepy.h
$(CC) $(CFLAGS) Sleepy.c

Sleepy: Sleepy.o
$(CC) -o Sleepy.exe Sleepy.o


all: Sleepy

clean:
rm -rf *.0 a.out

make = all

あらゆる種類のチュートリアルを読んでいますが、うまくいかないようです。誰かがこれを手伝ってくれますか?

4

2 に答える 2

1

コンパイルを実現するには、次の変更が必要です。

Sleepy.c

#include <stdio.h>

int main (void) {
    printf("Hello world");
}

メイクファイル

CC = gcc
CFLAGS = -c

all: Sleepy

Sleepy.o: Sleepy.c Sleepy.h
    $(CC) $(CFLAGS) Sleepy.c

Sleepy.exe: Sleepy.o
    $(CC) -o Sleepy.exe Sleepy.o

clean:
    rm -rf *.o Sleepy.exe

cleanのルール変更にご注意くださいMakefile。実行可能ファイルを削除する必要がありますSleepy.exe

注:との規則はSleepy.o、スペースではなくSleepyでオフセットする必要がTABあります。そうしないと、次のエラーが発生します。makefile:5: *** missing separator. Stop

于 2013-03-24T01:25:15.347 に答える
0

これを試して、

All: sleepy

sleepy: sleepy.c sleepy.o sleepy.h 
        gcc sleepy.c -o sleepy
clean:
        rm -f *.o
于 2013-03-24T01:26:31.070 に答える