web-dev-qa-db-ja.com

g ++を使用して特定の名前のオブジェクトファイルを作成する方法

私はメイクファイルを作成していますが、ターゲットの1つはexptrtest.oです。g++を使用してその名前のオブジェクトファイルを作成するにはどうすればよいですか。私のcppファイルの名前はexprtest.cppで、exptrtest.cppではありませんか?

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 ++:error:exptrtest.o:No such file or directory make:* [exprtest] Error 1」というエラーが表示されます

19
Amre

使用 -oオプションと-c

exptrtest.o: exprtest.cpp
    g++ -Wall -g -c exprtest.cpp -o exptrtest.o
36
vladr