Open yelowt opened 2 years ago
Добрый вечер, да, есть проблема, думаем как решить
Спасибо! Буду ждать решения
Попробуем закинуть pull request в репозиторий grpc-cpp генератора, по пока в качестве временной меры попробуйте удалить из сгенерированного кода упоминания ::public и namespace public
Добрый день! В качестве временного решения можно использовать автозамену namespace public
на namespace public_
и ::public
на ::public_
в сгенерированных файлах.
Например с помощью команды в каталоге с этими файлами:
sed -i '' 's/namespace public/namespace public_/g; s/::public/::public_/g' *.pb.*
Автозамена потребуется после каждой генерации файлов.
Добрый день! Сделал замену ::public на ::public_ в сгенерированных файлах. Код собирается. Но при вызове функций API (например Currencies) все та же ошибка {"error": "12 UNIMPLEMENTED: "}
В файле instruments.grpc.pb.cc
в массиве InstrumentsService_method_names
случайно ничего не изменилось?
Там есть строка "/tinkoff.public.invest.api.contract.v1.InstrumentsService/Currencies"
?
Добрый день! Предложенное временное решение заработало. Спасибо!
Аналогичная проблема, но с QtProtobuf. Автоматизировать, пока рано. Делаю замену в .proto файлах с package tinkoff.public.invest.api.contract.v1; на package tinkoff.api; В сгенерированных исходниках прописываю автозаменой по всем нужный путь к методам по апи. С чисто плюсовой версией приходится править все руками. Есть идея сгенерить на чистый С, и под него уже обертку на плюсах написать, но еще не пробовал. Ну и REST, как в v1, на крайний случай.
https://github.com/protocolbuffers/protobuf/issues/9058 вопрос в protocolbuffers закинули, будет здорово, если тоже отметитесь там
Добрый день! При генерации с++ кода по investAPI proto файлам package tinkoff.public.invest.api.contract.v1; генерирует namespace public. Полученный код не собирается. Естественно, при коррекции package tinkoff.invest.api.contract.v1; Код собирается, но такая удаленная процедура UNIMPLEMENTED.