Google 프로토콜 버퍼에서 사용자 정의 필드 옵션을 정의하려고합니다. 나는 그런 파일을 작성하는 경우, 모든 작품을 좋아 :가져온 .proto 파일에서 protobuf.FieldOptions 확장
import "google/protobuf/descriptor.proto";
package tutorial;
extend google.protobuf.FieldOptions {
optional int32 myopt = 70000;
}
message Persona {
required string name = 1 [(myopt)=5];
}
을하지만, 내가 다른 파일에 "myopt"정의를 이동하려고하면 컴파일이 실패
myext.proto :
package myext;
import "google/protobuf/descriptor.proto";
extend google.protobuf.FieldOptions {
optional int32 myopt = 70000;
}
addressbook.proto :
import "google/protobuf/descriptor.proto";
import "myext.proto";
package tutorial;
message Persona {
required string name = 1 [(myopt)=5];
}
편집 :
$ protoc --cpp_out=. -I/usr/include -I. addressbook.proto
addressbook.proto:8:29: Option "(myopt)" unknown.
를 사용하는 이외의 다른 파일에 사용자 정의 필드 옵션을 정의 할 수있는 방법이 있습니까? 몇 가지 .proto 파일에서 내 옵션을 사용하려면 공통 부분을 공통 파일로 이동하는 것이 중요합니다.
(자바처럼) 상주 할 디렉토리 "(myext.myopt)"을 나타냅니다 대신 "(myopt)"모든 것이 괜찮습니다. – peper0