12
私はmakefileを作成していますが、ターゲットの1つはexptrtest.oです。g ++を使ってその名前のオブジェクトファイルを作成するにはどうすればいいですか? exprtest.cppはexptrtest.cppではありませんか?g ++を使って特定の名前のオブジェクトファイルを作成する方法
exptrtest.o: exprtest.cpp
g++ -Wall -g -c exprtest.cpp
それをより明確にする、これが私のメイクです:
all: exprtest
exprtest: exptrtest.o driver.o parser.tab.o scanner.o
g++ -Wall -g -o exprtest exptrtest.o driver.o parser.tab.o scanner.o
exptrtest.o: exprtest.cpp
g++ -Wall -g -c exptrtest.o exprtest.cpp
driver.o: driver.cpp scanner.hpp driver.hpp
g++ -Wall -g -c driver.cpp
parser.tab.o: parser.tab.hpp parser.tab.cpp
bison parser.ypp
g++ -Wall -g -c parser.tab.cpp
scanner.o: scanner.cpp scanner.hpp
flex -t scanner.ll > scanner.cpp
g++ -Wall -g -c scanner.cpp
clean:
rm parser.tab.hpp parser.tab.cpp scanner.cpp
私はエラーを取得しています: 「G ++:エラー:exptrtest.o:そのようなファイルやディレクトリはありません メイクを: * [exprtest]エラー1 "
"g ++ -c name.cpp"はname.oを作成します。異なる出力名を作成するには、-oフラグを使用します。 –