Как скомпилировать файл.proto + .options с помощью nanopb

Я написал файл.options и поместил его в тот же каталог, что и файл.proto. Затем я попытался скомпилировать его (используя компилятор nanopb) с помощью команды

generator-bin/protoc --nanopb_out=. message.proto -s message.options

и получил эту ошибку:

Unknown flag: -s

так что я делаю не так? мне нужно импортировать файл опций в файл.proto? Что-нибудь еще, что я должен сделать, чтобы это работало?

1 ответ

Решение

Google-х protoc имеет специальный синтаксис для передачи параметров в плагины. Параметры плагина выставляются в качестве аргумента nanopb_out и отделен от фактического пути назначения двоеточием (:).

generator-bin/protoc '--nanopb_out=-v -f message.options:.' message.proto

Однако, если ваш .options файл имеет то же имя, что и .proto и находится в том же каталоге, плагин Nanopb должен автоматически найти и использовать его.

Также обратите внимание, что -s флаг nanopb ожидает пару настроек в командной строке, а -f принимает имя файла Определение -v также полезно получать подробные сообщения вне зависимости от того, загружен файл опций или нет. Вы можете получить полный список параметров командной строки, выполнив:

generator-bin/nanopb_generator --help
Другие вопросы по тегам