Используя Ubuntu 16.04 и CMake, я пытаюсь создать общую библиотеку из файлов protobuf.CMakes protobuf_generate_cpp создает PROTO_SRCS и PROTO_HDRS.
У меня не было никаких файлов google / protobuf / *. Proto в моей системе, поэтому я загрузил 3.6.1 и переместил их в / usr / local / include.Я знаю, что я использую proto2, а protoc версии 2, и некоторые из этих * .proto файлов в 3.6.1 являются proto3, но файлы ниже (те, что я использую, это syntax = "proto2"), поэтомуЯ думаю, что все должно быть в порядке.
Однако я сталкиваюсь со следующей ошибкой.
$ protoc --version
libprotoc 2.6.1
[ 2%] Running C++ protocol buffer compiler on models.proto
google/protobuf/descriptor.proto:439:3: Expected "required", "optional", or "repeated".
google/protobuf/descriptor.proto:439:12: Expected field name.
google/protobuf/descriptor.proto:497:3: Expected "required", "optional", or "repeated".
google/protobuf/descriptor.proto:497:12: Expected field name.
google/protobuf/descriptor.proto:498:3: Expected "required", "optional", or "repeated".
google/protobuf/descriptor.proto:498:12: Expected field name.
google/protobuf/descriptor.proto:597:3: Expected "required", "optional", or "repeated".
google/protobuf/descriptor.proto:597:12: Expected field name.
google/protobuf/descriptor.proto:620:3: Expected "required", "optional", or "repeated".
google/protobuf/descriptor.proto:620:12: Expected field name.
edk/edk_extensions.proto: Import "google/protobuf/descriptor.proto" was not found or had errors.
edk/edk_extensions.proto:15:8: ".google.protobuf.FieldOptions" is not defined.
edk/edk_extensions.proto:20:8: ".google.protobuf.MessageOptions" is not defined.
models.proto: Import "edk/edk_extensions.proto" was not found or had errors.
У кого-нибудь есть мысли?