Какой обычный, правильный способ использовать ProToBuf в проекте VC ++ в Windows?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Какой обычный, правильный способ использовать ProToBuf в проекте VC ++ в Windows?

Сообщение Anonymous »

Я новичок в C ++, и я пишу простую программу, которая использует определения Protobuf (.proto) как часть своей работы. Я пришел из C#, и у меня было много проблем с пониманием того, как использовать ProtoBuf в моем проекте VC ++. Пожалуйста, извините за длинное и подробное сообщение, я потратил несколько часов, пытаясь сделать эту работу, но безрезультатно. Синтаксис, выделение даже работает и дает мне хорошие цвета в IDE. Horay!

"$(ProjectDir)../dependencies/protobuf/bin/protoc.exe" --proto_path=$(ProjectDir) --cpp_out=$(ProjectDir) %(FullPath)
< /code>
Тем не менее, сгенерированные заголовки имеют много зависимостей от других заголовков и файлов Inc, которые я не ожидал, что мне понадобится (я думал, что могу просто обойтись, используя Protoc.exe и что это будет генерировать автономные файлы заголовков) < /p>
#include "google/protobuf/port_undef.inc"
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/arena.h"
#include "google/protobuf/arenastring.h"
#include "google/protobuf/generated_message_tctable_decl.h"
#include "google/protobuf/generated_message_util.h"
...
< /code>
Я добавил весь релиз Protobuf (загруженный со своей страницы Github, как указывают их инструкции) в папку хороших /зависимостей и добавил его как часть моей «Дополнительные включения каталогов». Теперь мои сгенерированные файлы могут найти свои зависимости ... но затем я снова попал в стену. У меня просто нет этого! < /P>
#include "absl/strings/string_view.h" // < !!!
< /code>
Так что я взламываю еще одну вещь, загружая Google /ABSL и поместив его в зависимости, в дополнительном включении;
Теперь я могу компилировать, но я не могу связать, потому что я не упускаю Protobuf.Lib, который, как я думал, стану частью релиза ... но это не так. Даже если я сделал , хочу построить его сам, шаги, которые я следовал, чувствовал себя очень запутанным, и я не уверен, что я должен был сделать. Установите руководство и дальнейшие перенаправления в GitHub Readme в любом случае. Vcpkg не работал для меня.
  • была ли это недостатка в зависимости и должен был зала за это вручную, извлекая ее в Интернет, как я сделал, или он должен был быть включен/найден в другом месте/части, что я пропустил? Установить и использовать Protobuf , или должен быть автоматизированный способ, который в основном будет работать для настройки Windows VC ++, и я сделал свою жизнь более сложной, чем необходимо?
неполная информация.

Подробнее здесь: https://stackoverflow.com/questions/772 ... on-windows
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»