Ja, früher hat der Compiler es bei einer Warnung belassen, wenn eine Funktion einen Rückgabewert haben sollte, aber keinen hatte.
Der Code in Deiner Lib:
size_t Encrypt_SHA1::write(uint8_t* data, int length) {
for (int i=0; i<length; i++) {
write(data[i]);
}
}
Heute wird das als Fehler angemeckert. Du hast 2 Möglichkeiten:
Entweder die Funktionen in der .h und der .cpp in auf void umzustellen oder einfach ein return 0 einzufügen.
size_t Encrypt_SHA1::write(uint8_t* data, int length) {
for (int i=0; i<length; i++) {
write(data[i]);
}
return 0;
}
Da gibt es noch ein paar mehr Fundstellen in der Lib, die Du ändern musst.
Gruß Tommy
Edit:
Die Methoden müssen den Returntyp size_t haben, da sie von Print erben.
Die Änderung in der cpp sollte also so aussehen (ab Zeile 86: die beiden Methoden).
size_t Encrypt_SHA1::write(uint8_t data) {
++byteCount;
addUncounted(data);
return 1;
}
size_t Encrypt_SHA1::write(uint8_t* data, int length) {
for (int i=0; i<length; i++) {
write(data[i]);
}
return length;
}