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.