Привет всем, я фермер, портировщик кода, который не умеет делать колеса, а только копировать и вставлять. Я буду записывать здесь программирование, записывать ямы, на которые я наступал, и оставлять след жизни. Если вы это читаете, Я немного сочувствую вам. Если вы можете помочь, пожалуйста, подпишитесь и спасибо, что поделились!
Сегодня при проведении небольшого теста Grpc был представлен «google/protobuf/timestamp.proto» в «google/protobuf/timestamp.proto».timestamp
При использовании типа сообщается о следующей ошибке при генерации кода:
google/protobuf/timestamp.proto: File not found.
message/message.proto:5:1: Import "google/protobuf/timestamp.proto" was not found or had errors.
message/message.proto:21:5: "google.protobuf.Timestamp" is not defined.
Я не понимаю, почему так происходит, а потом гуглю и отвечаю на всякие странности. Не нашел ответа, может неправильно ищу ответ.
Подумай об этом позже, используй лучший метод перезарядки.
существуетофициальный пакетСкачал актуальный протокол.
После скачивания и распаковки я обнаружил, что в нем две директории и один файл, одинbin
а такжеreadme.txt
Другойinclude
, я не заботился об этом, когда устанавливал его раньшеinclude
. подсознательно нажмитеreadme.txt
, сюрприз.
Protocol Buffers - Google's data interchange format
Copyright 2008 Google Inc.
https://developers.google.com/protocol-buffers/
This package contains a precompiled binary version of the protocol buffer
compiler (protoc). This binary is intended for users who want to use Protocol
Buffers in languages other than C++ but do not want to compile protoc
themselves. To install, simply place this binary somewhere in your PATH.
If you intend to use the included well known types then don't forget to
copy the contents of the 'include' directory somewhere as well, for example
into '/usr/local/include/'.
Please refer to our official github site for more installation instructions:
https://github.com/protocolbuffers/protobuf
есть предложениеIf you intend to use the included well known types then don't forget to copy the contents of the 'include' directory somewhere as well, for example into '/usr/local/include/'.
попробуй поставитьinclude/google
перейти к/usr/local/include/google
Затем регенерируйте. Об ошибках не сообщается, код генерируется правильно.
Подумав об этом.
возможныйКогда мы используем протокол для генерации объектного кода, эти типы не являются базовыми типами, гугл не компилировал их в протокол при проектировании, а в соответствии с тем, что он указал в документе/usr/local/include/
папку для поиска этих типов файлов .proto.
Оглядываясь назад на причины этой проблемы, я чувствую, что это все еще проблема, вызванная моей небрежностью, что является пустой тратой времени. К счастью, проблема была успешно решена,