Где установить путь к протоколу для импорта стандартов протокола буферов
Где мне нужно установить path
к protoc
чтобы получить импортные стандарты Protocol Buffers (protobuf), вроде empty.proto
а также timestamp.proto
в винде и дартс?
Когда protoc
выполняется:
protoc --dart_out = grpc: lib / src / protos / Генерируемый -Iprotos protos/organization.proto --plugin=protoc-gen-dart=D:\Users\Samuel\AppData\Roaming\Pub\Cache\bin\protoc- ген-dart.bat
Следующая ошибка представлена:
google / protobuf / empty.proto: файл не найден. organization.proto: Импорт "google/protobuf/empty.proto" не найден или возникли ошибки. organization.proto:14:27: "google.protobuf.Empty" не определено.
В IntelliJ Settings
на Protobuf Support
плагин path
это определить, где стандартные protos (*.proto):
Дополнительно это path
это определить в IntelliJ на Project Structure
\ Global Libraries
:
Код organization.proto
этот импорт google/protobuf/empty.proto
использовать Empty
учебный класс:
syntax = "proto3";
package auge.protobuf;
import "google/protobuf/empty.proto";
service OrganizationService {
rpc GetOrganizations (google.protobuf.Empty) returns (OrganizationsResponse) {}
}
IntelliJ анализатор распознает import "google/protobuf/empty.proto"
а также Empty
класс по идее, но protoc
не могу найти.
Среда это:
- ТАК: Windows 7 x64
- protoc: libprotoc 3.6.1
- Дротик: 2.2.0-край
2 ответа
Скажите, что у вас есть
/some/path/to/google/protobuf/empty.proto
, тебе нужно пройти
--proto_path=/some/path/to/
так что протокол может найти его.
используйте две точки перед путем к папке protobuf
<Protobuf Include="..\Proto\protobuf.proto" ProtoRoot="Proto" />