我已经尝试从根目录为每个子文件夹生成objc原型文件:
protoc */*.proto --objc_out="../result" -I.
示例示例:
syntax = "proto2";
message MyProtoType {
required string myProtoName = 1;
}
并且protoc
成功生成objc文件,但.m文件包含不正确的#import
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: MyFolder/MyProto.proto
...
#import "MyFolder/MyProto.pbobjc.h"
// @@protoc_insertion_point(imports)
...
有人可以解释如何生成正确的导入,而不用在每个子文件夹protoc
中运行循环它们的脚本来运行它们,而无需运行它们protoc *.proto --objc_out="../result" -I.
?
生成的代码没有错。如果要生成没有任何路径的#import
语句,并且不介意输出文件是否位于根目录而不是.proto文件的位置,请使用--proto_path
将文件夹添加到协议搜索目录中。
protoc */*.proto --objc_out=. --proto_path MyFolder