我必须修改Makefile,以便在构建.cc
文件之前将扩展名为.cpp
的中间文件移动到.o.
。我修改过的Makefile如下所示。
PROTOC=protoc
all: client_grpc pb
client_grpc: abc.pb.o abc.grpc.pb.o client_grpc.o
$(CXX) $^ $(LDFLAGS) -o $@
pb: %.pb.cc
mv $^ $@
%.grpc.pb.cc: %.proto
$(PROTOC) --grpc_out=. --plugin=protoc-gen-grpc=$(GRPC_CPP_PLUGIN_PATH) $<
%.pb.cc: %.proto
$(PROTOC) --cpp_out=. $<
clean:
rm -f *.o *.pb.cc *.pb.h client_gqegrpc
protoc
是一个生成.cc
个文件的编译器。如何制作目标,以便在生成.cc
文件之后将其移至.cpp
,然后使用client_grpc
文件构建.cpp
?
答案 0 :(得分:3)
执行此操作的常用方法是让您的规则生成.cpp文件:
%.pb.cpp: %.proto
$(PROTOC) --cpp_out=. $<
mv $*.pb.cc $*.pb.cpp