diff --git a/src/viam/sdk/services/private/mlmodel.cpp b/src/viam/sdk/services/private/mlmodel.cpp index 7adec82fa..00ac6d03a 100644 --- a/src/viam/sdk/services/private/mlmodel.cpp +++ b/src/viam/sdk/services/private/mlmodel.cpp @@ -67,7 +67,14 @@ class copy_sdk_tensor_to_api_tensor_visitor : public boost::static_visitor const int num32s = static_cast((t.size() + 1) * sizeof(std::int16_t) / sizeof(std::uint32_t)); target_->mutable_int16_tensor()->mutable_data()->Clear(); + +#if defined(GOOGLE_PROTOBUF_VERSION) && GOOGLE_PROTOBUF_VERSION >= 7035000 + target_->mutable_int16_tensor()->mutable_data()->resize(num32s, 0); +#else + target_->mutable_int16_tensor()->mutable_data()->Resize(num32s, 0); +#endif + std::memcpy(target_->mutable_int16_tensor()->mutable_data()->mutable_data(), t.begin(), t.size() * sizeof(std::int16_t)); @@ -78,7 +85,14 @@ class copy_sdk_tensor_to_api_tensor_visitor : public boost::static_visitor const int num32s = static_cast((t.size() + 1) * sizeof(std::uint16_t) / sizeof(std::uint32_t)); target_->mutable_uint16_tensor()->mutable_data()->Clear(); - target_->mutable_uint16_tensor()->mutable_data()->Resize(num32s, 0); + +#if defined(GOOGLE_PROTOBUF_VERSION) && GOOGLE_PROTOBUF_VERSION >= 7035000 + target_->mutable_int16_tensor()->mutable_data()->resize(num32s, 0); +#else + + target_->mutable_int16_tensor()->mutable_data()->Resize(num32s, 0); +#endif + std::memcpy(target_->mutable_uint16_tensor()->mutable_data()->mutable_data(), t.begin(), t.size() * sizeof(std::uint16_t));