我想在Windows下使用nmake.exe来构建一个使用Google protobufs的C ++项目。这需要为项目中的所有.proto文件执行protoc.exe。
我遇到的问题是在nmake.exe中提出一个规则来编译.proto文件,原因是protoc.exe的输出是.pb.cc形式的文件
以下任何一项工作都没有:
.SUFFIXES: .proto .cc
.proto.cc:
protoc.exe -cpp_out=<target folder> $<
或
.SUFFIXES: .proto .pb.cc
.proto.pb.cc:
protoc.exe -cpp_out=<target folder> $<
第二个产生以下错误:
filename.mk(3) : fatal error U1092: too many names in rule
这并不奇怪,但第一次无声地失败。我相当肯定第一个案例失败了,因为文件名“stems”,因为gnu调用它们,由于名称中添加了“.pb”序列而不匹配。