12
Tôi đang tạo một makefile và một trong các mục tiêu là exptrtest.o làm cách nào để sử dụng g ++ để tạo một objectfile với tên đó, tên của tệp cpp của tôi là exprtest.cpp không phải exptrtest.cpp?Làm cách nào để sử dụng g ++ để tạo tệp đối tượng có tên cụ thể
exptrtest.o: exprtest.cpp
g++ -Wall -g -c exprtest.cpp
để làm cho nó rõ ràng hơn, đây là makefile của tôi:
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
Tôi nhận được lỗi: "g ++: lỗi: exptrtest.o: Không có tập tin hoặc thư mục thực hiện: * [exprtest] Lỗi 1 "
"g ++ -c name.cpp" sẽ tạo tên.o. Sử dụng cờ -o để tạo tên đầu ra khác. –