Как разобрать файл .proto буферов протокола Google с оператором импорта

У меня есть два файла .proto:
example1.proto:

syntax = "proto3";
package example1;
import "pkt2.proto";
...

и файл pkt2.proto.

Когда я пытаюсь разобрать example1.proto:

DiskSourceTree source_tree;
source_tree.MapPath("", ".");
MFErrorPrinter mf_error_printer;
Importer importer(&source_tree, &mf_error_printer);
importer.AddUnusedImportTrackFile(file_name);
const FileDescriptor* parsed_file = importer.Import(fn);
...

Я получил ошибки:

proto/example/example1.proto.. proto/example/example1.proto:51:24: Option "(pkt2.variable)" unknown.
proto/example/example1.proto:60:22: Option "(pkt2.variable)" unknown.
proto/example/example1.proto:70:27: Option "(pkt2.variable)" unknown.
proto/example/example1.proto:11:11: Option "(pkt2.output)" unknown.
proto/example/example1.proto: warning: Import pkt2.proto but not used.

Как я могу импортировать / анализировать файл?

отредактированныйПосле нескольких попыток я нашел свою ошибку:

Имена файлов в двух утверждениях ниже:

source_tree.MapPath("", ".");
...
const FileDescriptor* parsed_file = importer.Import(fn);

имеет неверные имена файлов:

".""proto/example/example1.proto"

поэтому импортер не может найти «proto / pkt2.proto». Допустимые значения:

"proto""example/example1.proto"

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]