Я использовал библиотеку Flash.h от (http://arduiniana.org/libraries/flash/) версии 5 с Arduino 1.0.5 и teensy 3.1 без каких-либо проблем. Мне пришлось обновить до версии 1.0.6, и теперь я получаю эту ошибкуОшибки Flash.h с Arduino 1.0.6 и Teensy 3.1 (Teensyduino, Version 1.20)
[removed path from message]
/.../libraries/Flash/Flash.h: In member function 'char* _FLASH_STRING::copy(char*, size_t, size_t) const':
/.../libraries/Flash/Flash.h:79:44: error: operands to ?: have different types 'int' and 'char*'
и это код в flash.h
char *copy(char *to, size_t size = -1, size_t offset = 0) const
{
return size == -1 ?
strcpy_P(to, _arr + offset) : strncpy_P(to, _arr + offset, size);
}
на первый взгляд, я могу видеть, что операнд сравнения strcpy и strncpy, и оба из них возвращают char *, поэтому я не уверен, почему он считает, что это int.
эта страница имеет справку о двух функциях, используемых http://tuxgraphics.org/common/src2/article12051/avr-libc-user-manual/manual/group__avr__pgmspace.html
Любая помощь будет высоко, чтобы выяснить, в чем проблема. Тест библиотеки работает с vailla Arduino 1.0.6, но когда я устанавливаю Teensyduino, Version 1.20 и пытаюсь скомпилировать для teensy 3.1, я получаю эту ошибку. Если я скомпилирую его в Arduino Uno, это сработает.
Заранее спасибо