neurosdk2 for flutter does not compile for Widnows device

folloowing errors happens during windows compilation:

utils.cpp(51,28): error C2440: 'initializing': cannot convert from 'initializer list' to 'std::map<flutter::EncodableValue,flutter::EncodableValue,std::less<flutter::EncodableValue>,std::allocator<std::pair<const flutter::EncodableValue,flutter::EncodableValue>>>'

utils.cpp(66,28): error C2440: 'initializing': cannot convert from 'initializer list' to 'std::map<flutter::EncodableValue,flutter::EncodableValue,std::less<flutter::EncodableValue>,std::allocator<std::pair<const flutter::EncodableValue,flutter::EncodableValue>>>'

utils.cpp(80,28): error C2440: 'initializing': cannot convert from 'initializer list' to 'std::map<flutter::EncodableValue,flutter::EncodableValue,std::less<flutter::EncodableValue>,std::allocator<std::pair<const flutter::EncodableValue,flutter::EncodableValue>>>'

i just replace code in

windows\flutter\ephemeral.plugin_symlinks\neurosdk2\windows\utils.cpp from line 45:

flutter::EncodableList CallibriSignalDataToList(CallibriSignalData* data, int32_t size)
{
  flutter::EncodableList dataList{};
  for (int i = 0; i < size; i++) {
    CallibriSignalData it = data[i];

    flutter::EncodableList samples;
    samples.reserve(it.SzSamples);
    for (int j = 0; j < static_cast<int>(it.SzSamples); ++j) {
      samples.push_back(flutter::EncodableValue(static_cast<double>(it.Samples[j])));
    }

    flutter::EncodableMap map{
      {flutter::EncodableValue("PackNum"), flutter::EncodableValue(static_cast<int64_t>(it.PackNum))},
      {flutter::EncodableValue("Samples"), flutter::EncodableValue(samples)},
    };
    dataList.push_back(flutter::EncodableValue(map));
  }
  return dataList;
}

flutter::EncodableList CallibriRespirationDataToList(CallibriRespirationData* data, int32_t size)
{
  flutter::EncodableList dataList{};
  for (int i = 0; i < size; i++) {
    CallibriRespirationData it = data[i];

    flutter::EncodableList samples;
    samples.reserve(it.SzSamples);
    for (int j = 0; j < static_cast<int>(it.SzSamples); ++j) {
      samples.push_back(flutter::EncodableValue(static_cast<double>(it.Samples[j])));
    }

    flutter::EncodableMap map{
      {flutter::EncodableValue("PackNum"), flutter::EncodableValue(static_cast<int64_t>(it.PackNum))},
      {flutter::EncodableValue("Samples"), flutter::EncodableValue(samples)},
    };
    dataList.push_back(flutter::EncodableValue(map));
  }
  return dataList;
}

flutter::EncodableList CallibriEnvelopeDataToList(CallibriEnvelopeData* data, int32_t size)
{
  flutter::EncodableList dataList{};
  for (int i = 0; i < size; i++) {
    CallibriEnvelopeData it = data[i];

    flutter::EncodableMap map{
      {flutter::EncodableValue("PackNum"), flutter::EncodableValue(static_cast<int64_t>(it.PackNum))},
      {flutter::EncodableValue("Sample"),  flutter::EncodableValue(static_cast<double>(it.Sample))},
    };
    dataList.push_back(flutter::EncodableValue(map));
  }
  return dataList;
}

if i do it locally it is just a temporal workaround. Please add this to the release version.

Assignee Loading
Time tracking Loading