Ошибка в скомпилированных с помощью protoc файлах с++

Установил protobuf из исходников, все по инструкции, ошибки в процессе установки не разложено. Написал тестовый протофайл

syntax = "proto3";

message Address{
  string street = 1;
  uint32 building = 2;
}

message Person{
  string name = 1;
  int32 age = 2;
  repeated string phone_numbers = 3;
}

Написал cmake

cmake_minimum_required(VERSION 3.17)
project(protobuf_test3)
set(CMAKE_CXX_STANDARD 17)
find_package(Protobuf REQUIRED)
include_directories(${Protobuf_INCLUDE_DIRS})
include_directories(${CMAKE_CURRENT_BINARY_DIR})
protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS person.proto)
add_executable(protobuf_test3 main.cpp ${PROTO_SRCS} ${PROTO_HDRS})

Запустил программу, protoc скомпилировал файлы, протобуфа в h и сс. Но, компилятор выдал ошибки в скомпилированном прото файле, вот текст этих ошибок

    /home/anton/dev/protobuf_test3/cmake-build-debug/person.pb.h:417:101: error: no matching function for call to ‘google::protobuf::internal::ArenaStringPtr::ClearToEmpty(const string*, google::protobuf::Arena*)’
      417 |   street_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
/home/anton/dev/protobuf_test3/cmake-build-debug/person.pb.h:460:103: error: no matching function for call to ‘google::protobuf::internal::ArenaStringPtr::Mutable(const string*, google::protobuf::Arena*)’
  460 |   return street_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
/home/anton/dev/protobuf_test3/cmake-build-debug/person.pb.h:546:101: error: no matching function for call to ‘google::protobuf::internal::ArenaStringPtr::Mutable(const string*, google::protobuf::Arena*)’
  546 |   return name_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
e/anton/dev/protobuf_test3/cmake-build-debug/person.pb.h:417:101: error: no matching function for call to ‘google::protobuf::internal::ArenaStringPtr::ClearToEmpty(const string*, google::protobuf::Arena*)’
  417 |   street_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
      |                                                                                                     ^
/home/anton/dev/protobuf_test3/cmake-build-debug/person.pb.h:460:103: error: no matching function for call to ‘google::protobuf::internal::ArenaStringPtr::Mutable(const string*, google::protobuf::Arena*)’
  460 |   return street_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
/home/anton/dev/protobuf_test3/cmake-build-debug/person.pb.h:503:99: error: no matching function for call to ‘google::protobuf::internal::ArenaStringPtr::ClearToEmpty(const string*, google::protobuf::Arena*)’
  503 |   name_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
      |                                                                                                   ^

И ошибка cmake

make[3]: *** [CMakeFiles/protobuf_test3.dir/build.make:104: CMakeFiles/protobuf_test3.dir/person.pb.cc.o] Ошибка 1
make[2]: *** [CMakeFiles/Makefile2:96: CMakeFiles/protobuf_test3.dir/all] Ошибка 2
make[1]: *** [CMakeFiles/Makefile2:103: CMakeFiles/protobuf_test3.dir/rule] Ошибка 2
make: *** [Makefile:138: protobuf_test3] Ошибка 2

Ответы (0 шт):