0

私の課題では、cpp2html.c をコンパイルして cpp2html.o を生成することになっています。lex.yy.c でも同じことを行います。lex.yy.c はコマンド flex cppscanner.l によって作成されます。最後に、.o ファイルをリンクして、cpp2html という名前の実行可能プログラムを作成します。私のメイクファイルは、g++ の代わりに gcc を使用することになっています。私は正しくやっています。g ++部分のmakefileが正常に機能したため、この特定のmakefileをこのプログラムで数時間機能させようとしました。このメイクファイルを送信すると、「あなたのメイクファイルは、cpp2html.c だけを変更しただけでは機能しすぎます」と言われます。このエラーを調べてみたところ、g++ 部分でエラーが発生した人しか見つかりませんでした。適応させてみましたが、うまくいきませんでした。makefile のフォーマットを変更しようとしましたが、コードを変更しようとしましたが、何が間違っているのかわかりません。

「やりすぎ」せずに、必要なことを行うようにメイクファイルを変更するにはどうすればよいですか?

私のメイクファイルは次のとおりです。

cpp2html: cpp2html.o lex.yy.o
    gcc -g -DDEBUG cpp2html.o lex.yy.o
    mv a.out cpp2html
cpp2html.o: cpp2html.c
    gcc -g -DDEBUG -c cpp2html.c
    flex cppscanner.l
lex.yy.o: lex.yy.c
    gcc -g -c lex.yy.c

編集:

cpp2html: cpp2html.o lex.yy.o
    gcc -g cpp2html.o lex.yy.o
    gcc -g -DDEBUG cpp2html.o lex.yy.o -o cpp2html
cpp2html.o: cpp2html.c
    gcc -g -c cpp2html.c
lex.yy.c: cppscanner.l
    flex cppscanner.l
lex.yy.o: lex.yy.c
    gcc -g -c lex.yy.c
4

1 に答える 1

0

このメイクファイルはこれを解決するはずです。

cpp2html: cpp2html.o lex.yy.o
    gcc -g -DDEBUG cpp2html.o lex.yy.o -o cpp2html

cpp2html.o: cpp2html.c
    gcc -g -DDEBUG -c cpp2html.c

lex.yy.o: lex.yy.c
    gcc -g -c lex.yy.c

lex.yy.c: cppscanner.l
    flex cppscanner.l -o lex.yy.c
于 2013-11-12T03:38:37.087 に答える